3 * Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 * PROJECT: ReactOS user32.dll
22 * FILE: lib/user32/windows/caret.c
24 * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
26 * 09-05-2001 CSH Created
29 /* INCLUDES ******************************************************************/
33 /* FUNCTIONS *****************************************************************/
35 void DrawCaret(HWND hWnd
, PTHRDCARETINFO CaretInfo
)
42 if(CaretInfo
->Bitmap
&& GetBitmapDimensionEx(CaretInfo
->Bitmap
, &CaretInfo
->Size
))
44 hComp
= CreateCompatibleDC(hDC
);
47 SelectObject(hComp
, CaretInfo
->Bitmap
);
48 BitBlt(hDC
, CaretInfo
->Pos
.x
, CaretInfo
->Pos
.y
, CaretInfo
->Size
.cx
, CaretInfo
->Size
.cy
, hComp
, 0, 0, SRCINVERT
);
52 PatBlt(hDC
, CaretInfo
->Pos
.x
, CaretInfo
->Pos
.y
, CaretInfo
->Size
.cx
, CaretInfo
->Size
.cy
, DSTINVERT
);
56 PatBlt(hDC
, CaretInfo
->Pos
.x
, CaretInfo
->Pos
.y
, CaretInfo
->Size
.cx
, CaretInfo
->Size
.cy
, DSTINVERT
);
66 CreateCaret(HWND hWnd
,
71 return (BOOL
)NtUserCreateCaret(hWnd
, hBitmap
, nWidth
, nHeight
);
81 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET
);
89 GetCaretBlinkTime(VOID
)
91 return NtUserGetCaretBlinkTime();
99 GetCaretPos(LPPOINT lpPoint
)
101 return (BOOL
)NtUserGetCaretPos(lpPoint
);
111 return (BOOL
)NtUserHideCaret(hWnd
);
119 SetCaretBlinkTime(UINT uMSeconds
)
121 return NtUserSetCaretBlinkTime(uMSeconds
);
132 return NtUserSetCaretPos(X
, Y
);
142 return (BOOL
)NtUserShowCaret(hWnd
);