Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SetCursorPosition()

static void System.ConsolePal.SetCursorPosition ( int left,
int top )
inlinestatic

Definition at line 827 of file ConsolePal.cs.

828 {
829 IntPtr outputHandle = OutputHandle;
830 global::Interop.Kernel32.COORD cursorPosition = default(global::Interop.Kernel32.COORD);
831 cursorPosition.X = (short)left;
832 cursorPosition.Y = (short)top;
833 if (!global::Interop.Kernel32.SetConsoleCursorPosition(outputHandle, cursorPosition))
834 {
835 int lastPInvokeError = Marshal.GetLastPInvokeError();
836 global::Interop.Kernel32.CONSOLE_SCREEN_BUFFER_INFO bufferInfo = GetBufferInfo();
837 if (left >= bufferInfo.dwSize.X)
838 {
839 throw new ArgumentOutOfRangeException("left", left, System.SR.ArgumentOutOfRange_ConsoleBufferBoundaries);
840 }
841 if (top >= bufferInfo.dwSize.Y)
842 {
843 throw new ArgumentOutOfRangeException("top", top, System.SR.ArgumentOutOfRange_ConsoleBufferBoundaries);
844 }
845 throw System.IO.Win32Marshal.GetExceptionForWin32Error(lastPInvokeError);
846 }
847 }
static IntPtr OutputHandle
static global::Interop.Kernel32.CONSOLE_SCREEN_BUFFER_INFO GetBufferInfo()
static Exception GetExceptionForWin32Error(int errorCode, string path="")
static string ArgumentOutOfRange_ConsoleBufferBoundaries
Definition SR.cs:64
Definition SR.cs:7

References System.SR.ArgumentOutOfRange_ConsoleBufferBoundaries, System.ConsolePal.GetBufferInfo(), System.IO.Win32Marshal.GetExceptionForWin32Error(), System.Runtime.InteropServices.Marshal.GetLastPInvokeError(), and System.ConsolePal.OutputHandle.

Referenced by System.Console.SetCursorPosition().