182 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			182 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* GTK - The GIMP Toolkit
 | |
|  * Copyright (C) 2016 Benjamin Otte <otte@gnome.org>
 | |
|  *
 | |
|  * 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 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, see <http://www.gnu.org/licenses/>.
 | |
|  */
 | |
| 
 | |
| #ifndef __GTK_WIN32_DRAW_H__
 | |
| #define __GTK_WIN32_DRAW_H__
 | |
| 
 | |
| #include <gdk/gdk.h>
 | |
| #include <cairo.h>
 | |
| 
 | |
| #include <gtk/gtkborder.h>
 | |
| 
 | |
| G_BEGIN_DECLS
 | |
| 
 | |
| enum {
 | |
|   GTK_WIN32_SYS_COLOR_SCROLLBAR,
 | |
|   GTK_WIN32_SYS_COLOR_BACKGROUND,
 | |
|   GTK_WIN32_SYS_COLOR_ACTIVECAPTION,
 | |
|   GTK_WIN32_SYS_COLOR_INACTIVECAPTION,
 | |
|   GTK_WIN32_SYS_COLOR_MENU,
 | |
|   GTK_WIN32_SYS_COLOR_WINDOW,
 | |
|   GTK_WIN32_SYS_COLOR_WINDOWFRAME,
 | |
|   GTK_WIN32_SYS_COLOR_MENUTEXT,
 | |
|   GTK_WIN32_SYS_COLOR_WINDOWTEXT,
 | |
|   GTK_WIN32_SYS_COLOR_CAPTIONTEXT,
 | |
|   GTK_WIN32_SYS_COLOR_ACTIVEBORDER,
 | |
|   GTK_WIN32_SYS_COLOR_INACTIVEBORDER,
 | |
|   GTK_WIN32_SYS_COLOR_APPWORKSPACE,
 | |
|   GTK_WIN32_SYS_COLOR_HIGHLIGHT,
 | |
|   GTK_WIN32_SYS_COLOR_HIGHLIGHTTEXT,
 | |
|   GTK_WIN32_SYS_COLOR_BTNFACE,
 | |
|   GTK_WIN32_SYS_COLOR_BTNSHADOW,
 | |
|   GTK_WIN32_SYS_COLOR_GRAYTEXT,
 | |
|   GTK_WIN32_SYS_COLOR_BTNTEXT,
 | |
|   GTK_WIN32_SYS_COLOR_INACTIVECAPTIONTEXT,
 | |
|   GTK_WIN32_SYS_COLOR_BTNHIGHLIGHT,
 | |
|   GTK_WIN32_SYS_COLOR_3DDKSHADOW,
 | |
|   GTK_WIN32_SYS_COLOR_3DLIGHT,
 | |
|   GTK_WIN32_SYS_COLOR_INFOTEXT,
 | |
|   GTK_WIN32_SYS_COLOR_INFOBK,
 | |
|   GTK_WIN32_SYS_COLOR_ALTERNATEBTNFACE,
 | |
|   GTK_WIN32_SYS_COLOR_HOTLIGHT,
 | |
|   GTK_WIN32_SYS_COLOR_GRADIENTACTIVECAPTION,
 | |
|   GTK_WIN32_SYS_COLOR_GRADIENTINACTIVECAPTION,
 | |
|   GTK_WIN32_SYS_COLOR_MENUHILIGHT,
 | |
|   GTK_WIN32_SYS_COLOR_MENUBAR
 | |
| };
 | |
| 
 | |
| enum {
 | |
|   GTK_WIN32_SYS_METRIC_CXSCREEN = 0,
 | |
|   GTK_WIN32_SYS_METRIC_CYSCREEN = 1,
 | |
|   GTK_WIN32_SYS_METRIC_CXVSCROLL = 2,
 | |
|   GTK_WIN32_SYS_METRIC_CYHSCROLL = 3,
 | |
|   GTK_WIN32_SYS_METRIC_CYCAPTION = 4,
 | |
|   GTK_WIN32_SYS_METRIC_CXBORDER = 5,
 | |
|   GTK_WIN32_SYS_METRIC_CYBORDER = 6,
 | |
|   GTK_WIN32_SYS_METRIC_CXDLGFRAME = 7,
 | |
|   GTK_WIN32_SYS_METRIC_CYDLGFRAME = 8,
 | |
|   GTK_WIN32_SYS_METRIC_CYVTHUMB = 9,
 | |
|   GTK_WIN32_SYS_METRIC_CXHTHUMB = 10,
 | |
|   GTK_WIN32_SYS_METRIC_CXICON = 11,
 | |
|   GTK_WIN32_SYS_METRIC_CYICON = 12,
 | |
|   GTK_WIN32_SYS_METRIC_CXCURSOR = 13,
 | |
|   GTK_WIN32_SYS_METRIC_CYCURSOR = 14,
 | |
|   GTK_WIN32_SYS_METRIC_CYMENU = 15,
 | |
|   GTK_WIN32_SYS_METRIC_CXFULLSCREEN = 16,
 | |
|   GTK_WIN32_SYS_METRIC_CYFULLSCREEN = 17,
 | |
|   GTK_WIN32_SYS_METRIC_CYKANJIWINDOW = 18,
 | |
|   GTK_WIN32_SYS_METRIC_MOUSEPRESENT = 19,
 | |
|   GTK_WIN32_SYS_METRIC_CYVSCROLL = 20,
 | |
|   GTK_WIN32_SYS_METRIC_CXHSCROLL = 21,
 | |
|   GTK_WIN32_SYS_METRIC_DEBUG = 22,
 | |
|   GTK_WIN32_SYS_METRIC_SWAPBUTTON = 23,
 | |
|   GTK_WIN32_SYS_METRIC_RESERVED1 = 24,
 | |
|   GTK_WIN32_SYS_METRIC_RESERVED2 = 25,
 | |
|   GTK_WIN32_SYS_METRIC_RESERVED3 = 26,
 | |
|   GTK_WIN32_SYS_METRIC_RESERVED4 = 27,
 | |
|   GTK_WIN32_SYS_METRIC_CXMIN = 28,
 | |
|   GTK_WIN32_SYS_METRIC_CYMIN = 29,
 | |
|   GTK_WIN32_SYS_METRIC_CXSIZE = 30,
 | |
|   GTK_WIN32_SYS_METRIC_CYSIZE = 31,
 | |
|   GTK_WIN32_SYS_METRIC_CXFRAME = 32,
 | |
|   GTK_WIN32_SYS_METRIC_CYFRAME = 33,
 | |
|   GTK_WIN32_SYS_METRIC_CXMINTRACK = 34,
 | |
|   GTK_WIN32_SYS_METRIC_CYMINTRACK = 35,
 | |
|   GTK_WIN32_SYS_METRIC_CXDOUBLECLK = 36,
 | |
|   GTK_WIN32_SYS_METRIC_CYDOUBLECLK = 37,
 | |
|   GTK_WIN32_SYS_METRIC_CXICONSPACING = 38,
 | |
|   GTK_WIN32_SYS_METRIC_CYICONSPACING = 39,
 | |
|   GTK_WIN32_SYS_METRIC_MENUDROPALIGNMENT = 40,
 | |
|   GTK_WIN32_SYS_METRIC_PENWINDOWS = 41,
 | |
|   GTK_WIN32_SYS_METRIC_DBCSENABLED = 42,
 | |
|   GTK_WIN32_SYS_METRIC_CMOUSEBUTTONS = 43,
 | |
|   GTK_WIN32_SYS_METRIC_SECURE = 44,
 | |
|   GTK_WIN32_SYS_METRIC_CXEDGE = 45,
 | |
|   GTK_WIN32_SYS_METRIC_CYEDGE = 46,
 | |
|   GTK_WIN32_SYS_METRIC_CXMINSPACING = 47,
 | |
|   GTK_WIN32_SYS_METRIC_CYMINSPACING = 48,
 | |
|   GTK_WIN32_SYS_METRIC_CXSMICON = 49,
 | |
|   GTK_WIN32_SYS_METRIC_CYSMICON = 50,
 | |
|   GTK_WIN32_SYS_METRIC_CYSMCAPTION = 51,
 | |
|   GTK_WIN32_SYS_METRIC_CXSMSIZE = 52,
 | |
|   GTK_WIN32_SYS_METRIC_CYSMSIZE = 53,
 | |
|   GTK_WIN32_SYS_METRIC_CXMENUSIZE = 54,
 | |
|   GTK_WIN32_SYS_METRIC_CYMENUSIZE = 55,
 | |
|   GTK_WIN32_SYS_METRIC_ARRANGE = 56,
 | |
|   GTK_WIN32_SYS_METRIC_CXMINIMIZED = 57,
 | |
|   GTK_WIN32_SYS_METRIC_CYMINIMIZED = 58,
 | |
|   GTK_WIN32_SYS_METRIC_CXMAXTRACK = 59,
 | |
|   GTK_WIN32_SYS_METRIC_CYMAXTRACK = 60,
 | |
|   GTK_WIN32_SYS_METRIC_CXMAXIMIZED = 61,
 | |
|   GTK_WIN32_SYS_METRIC_CYMAXIMIZED = 62,
 | |
|   GTK_WIN32_SYS_METRIC_NETWORK = 63,
 | |
|   GTK_WIN32_SYS_METRIC_CLEANBOOT = 67,
 | |
|   GTK_WIN32_SYS_METRIC_CXDRAG = 68,
 | |
|   GTK_WIN32_SYS_METRIC_CYDRAG = 69,
 | |
|   GTK_WIN32_SYS_METRIC_SHOWSOUNDS = 70,
 | |
|   GTK_WIN32_SYS_METRIC_CXMENUCHECK = 71,
 | |
|   GTK_WIN32_SYS_METRIC_CYMENUCHECK = 72,
 | |
|   GTK_WIN32_SYS_METRIC_SLOWMACHINE = 73,
 | |
|   GTK_WIN32_SYS_METRIC_MIDEASTENABLED = 74,
 | |
|   GTK_WIN32_SYS_METRIC_MOUSEWHEELPRESENT = 75,
 | |
|   GTK_WIN32_SYS_METRIC_XVIRTUALSCREEN = 76,
 | |
|   GTK_WIN32_SYS_METRIC_YVIRTUALSCREEN = 77,
 | |
|   GTK_WIN32_SYS_METRIC_CXVIRTUALSCREEN = 78,
 | |
|   GTK_WIN32_SYS_METRIC_CYVIRTUALSCREEN = 79,
 | |
|   GTK_WIN32_SYS_METRIC_CMONITORS = 80,
 | |
|   GTK_WIN32_SYS_METRIC_SAMEDISPLAYFORMAT = 81,
 | |
|   GTK_WIN32_SYS_METRIC_IMMENABLED = 82,
 | |
|   GTK_WIN32_SYS_METRIC_CXFOCUSBORDER = 83,
 | |
|   GTK_WIN32_SYS_METRIC_CYFOCUSBORDER = 84,
 | |
|   GTK_WIN32_SYS_METRIC_TABLETPC = 86,
 | |
|   GTK_WIN32_SYS_METRIC_MEDIACENTER = 87,
 | |
|   GTK_WIN32_SYS_METRIC_STARTER = 88,
 | |
|   GTK_WIN32_SYS_METRIC_SERVERR2 = 89,
 | |
|   GTK_WIN32_SYS_METRIC_CMETRICS = 90,
 | |
|   GTK_WIN32_SYS_METRIC_MOUSEHORIZONTALWHEELPRESENT = 91,
 | |
|   GTK_WIN32_SYS_METRIC_CXPADDEDBORDER = 92
 | |
| };
 | |
| 
 | |
| void                    gtk_win32_draw_theme_background         (cairo_t        *cr,
 | |
|                                                                  const char     *class_name,
 | |
|                                                                  int             part,
 | |
|                                                                  int             state,
 | |
|                                                                  int             width,
 | |
|                                                                  int             height);
 | |
| void                    gtk_win32_get_theme_part_size           (const char     *class_name,
 | |
|                                                                  int             part,
 | |
|                                                                  int             state,
 | |
|                                                                  int            *width,
 | |
|                                                                  int            *height);
 | |
| void                    gtk_win32_get_theme_margins             (const char     *class_name,
 | |
|                                                                  int             part,
 | |
|                                                                  int             state,
 | |
|                                                                  GtkBorder      *out_margins);
 | |
| 
 | |
| const char *            gtk_win32_get_sys_metric_name_for_id    (gint            id);
 | |
| int                     gtk_win32_get_sys_metric_id_for_name    (const char     *name);
 | |
| int                     gtk_win32_get_sys_metric                (gint            id);
 | |
| 
 | |
| const char *            gtk_win32_get_sys_color_name_for_id     (gint            id);
 | |
| int                     gtk_win32_get_sys_color_id_for_name     (const char     *name);
 | |
| void                    gtk_win32_get_sys_color                 (gint            id,
 | |
|                                                                  GdkRGBA        *color);
 | |
| 
 | |
| G_END_DECLS
 | |
| 
 | |
| #endif /* __GTK_WIN32_DRAW_H__ */
 | 
