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 #include <wine/debug.h>
34 /* FUNCTIONS *****************************************************************/
36 void DrawCaret(HWND hWnd
, PTHRDCARETINFO CaretInfo
)
43 if(CaretInfo
->Bitmap
&& GetBitmapDimensionEx(CaretInfo
->Bitmap
, &CaretInfo
->Size
))
45 hComp
= CreateCompatibleDC(hDC
);
48 SelectObject(hComp
, CaretInfo
->Bitmap
);
49 BitBlt(hDC
, CaretInfo
->Pos
.x
, CaretInfo
->Pos
.y
, CaretInfo
->Size
.cx
, CaretInfo
->Size
.cy
, hComp
, 0, 0, SRCINVERT
);
53 PatBlt(hDC
, CaretInfo
->Pos
.x
, CaretInfo
->Pos
.y
, CaretInfo
->Size
.cx
, CaretInfo
->Size
.cy
, DSTINVERT
);
57 PatBlt(hDC
, CaretInfo
->Pos
.x
, CaretInfo
->Pos
.y
, CaretInfo
->Size
.cx
, CaretInfo
->Size
.cy
, DSTINVERT
);
67 CreateCaret(HWND hWnd
,
72 return (BOOL
)NtUserCreateCaret(hWnd
, hBitmap
, nWidth
, nHeight
);
82 return (BOOL
)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET
);
90 GetCaretBlinkTime(VOID
)
92 return NtUserGetCaretBlinkTime();
100 GetCaretPos(LPPOINT lpPoint
)
102 return (BOOL
)NtUserGetCaretPos(lpPoint
);
110 SetCaretBlinkTime(UINT uMSeconds
)
112 return NtUserSetCaretBlinkTime(uMSeconds
);
123 return NtUserSetCaretPos(X
, Y
);