| /* |
| * an application for displaying Win32 console |
| * USER32 backend |
| * |
| * Copyright 2001 Eric Pouech |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| */ |
| |
| #include <winbase.h> |
| #include <wingdi.h> |
| #include <winuser.h> |
| #include "winecon_private.h" |
| |
| struct inner_data_user { |
| /* the following fields are only user by the USER backend (should be hidden in user) */ |
| HWND hWnd; /* handle to windows for rendering */ |
| HFONT hFont; /* font used for rendering, usually fixed */ |
| HDC hMemDC; /* memory DC holding the bitmap below */ |
| HBITMAP hBitmap; /* bitmap of display window content */ |
| HMENU hPopMenu; /* popup menu triggered by right mouse click */ |
| |
| HBITMAP cursor_bitmap; /* bitmap used for the caret */ |
| BOOL has_selection; /* an area is being selected (selectPt[12] are edges of the rect) */ |
| COORD selectPt1; /* start (and end) point of a mouse selection */ |
| COORD selectPt2; |
| }; |
| |
| #define PRIVATE(data) ((struct inner_data_user*)((data)->private)) |
| |
| /* from user.c */ |
| extern COLORREF WCUSER_ColorMap[16]; |
| extern BOOL WCUSER_GetProperties(struct inner_data*, BOOL); |
| extern BOOL WCUSER_ValidateFont(const struct inner_data* data, const LOGFONT* lf); |
| extern BOOL WCUSER_ValidateFontMetric(const struct inner_data* data, |
| const TEXTMETRIC* tm, DWORD fontType); |
| extern BOOL WCUSER_AreFontsEqual(const struct config_data* config, |
| const LOGFONT* lf); |
| extern HFONT WCUSER_CopyFont(struct config_data* config, HWND hWnd, const LOGFONT* lf); |
| extern void WCUSER_FillLogFont(LOGFONT* lf, const WCHAR* name, |
| UINT height, UINT weight); |
| |
| extern void WCUSER_DumpLogFont(const char* pfx, const LOGFONT* lf, DWORD ft); |
| extern void WCUSER_DumpTextMetric(const TEXTMETRIC* tm, DWORD ft); |