Renamed GTK-Wimp to MS-Windows Engine
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2004-03-20 Raymond Penners <raymond@dotsphinx.com>
|
||||
|
||||
* all: Renamed GTK-Wimp to MS-Windows Engine
|
||||
|
||||
2004-03-11 Raymond Penners <raymond@dotsphinx.com>
|
||||
|
||||
* === Released 0.5.4 ===
|
||||
|
||||
@ -2,22 +2,24 @@ SUBDIRS=Theme
|
||||
|
||||
EXTRA_DIST=Makefile.msc
|
||||
|
||||
INCLUDES=$(WIMP_CFLAGS)
|
||||
INCLUDES=$(MSW_CFLAGS)
|
||||
|
||||
enginedir=$(libdir)/gtk-2.0/$(GTK_VERSION)/engines
|
||||
|
||||
engine_LTLIBRARIES = libwimp.la
|
||||
engine_LTLIBRARIES = libms-windows-engine.la
|
||||
|
||||
libwimp_la_SOURCES = \
|
||||
wimp_rc_style.c \
|
||||
wimp_rc_style.h \
|
||||
wimp_style.c \
|
||||
wimp_style.h \
|
||||
wimp_theme_main.c \
|
||||
libms_windows_engine_la_SOURCES = \
|
||||
msw_rc_style.c \
|
||||
msw_rc_style.h \
|
||||
msw_style.c \
|
||||
msw_style.h \
|
||||
msw_theme_main.c \
|
||||
xp_theme.c \
|
||||
xp_theme_defs.h \
|
||||
xp_theme.h
|
||||
|
||||
libwimp_la_LDFLAGS = -avoid-version -module -no-undefined -export-dynamic
|
||||
libwimp_la_LIBADD= $(WIMP_LIBS)
|
||||
libms_windows_engine_la_LDFLAGS = \
|
||||
-avoid-version -module -no-undefined -export-dynamic
|
||||
|
||||
libms_windows_engine_la_LIBADD= $(MSW_LIBS)
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Makefile.msc -- Makefile for MS-VC++ (-*- makefile -*-)
|
||||
#
|
||||
# Copyright (C) 2003 Raymond Penners <raymond@dotsphinx.com>
|
||||
# Copyright (C) 2003, 2004 Raymond Penners <raymond@dotsphinx.com>
|
||||
#
|
||||
# $Id$
|
||||
|
||||
@ -8,12 +8,12 @@
|
||||
|
||||
##
|
||||
# Target
|
||||
TARGET=libwimp.dll
|
||||
TARGET=libms-windows-engine.dll
|
||||
|
||||
OBJS = \
|
||||
wimp_style.obj \
|
||||
wimp_theme_main.obj \
|
||||
wimp_rc_style.obj \
|
||||
msw_style.obj \
|
||||
msw_theme_main.obj \
|
||||
msw_rc_style.obj \
|
||||
xp_theme.obj
|
||||
|
||||
##
|
||||
@ -65,7 +65,7 @@ $(TARGET): $(OBJS)
|
||||
link $(LDFLAGS) $(LIBS) /OUT:$@ $(OBJS)
|
||||
|
||||
install: $(TARGET)
|
||||
copy libwimp.dll "$(INSTALL_DIR)"
|
||||
copy $(TARGET) "$(INSTALL_DIR)"
|
||||
|
||||
clean:
|
||||
del *.obj *.dll *.exp *.lib
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# TODO: we should probably obtain these from a Win32 IconMetrics struct
|
||||
gtk-icon-sizes="gtk-menu=16,16:gtk-small-toolbar=18,18:gtk-large-toolbar=24,24:gtk-dnd=32,32"
|
||||
|
||||
style "wimp-default"
|
||||
style "msw-default"
|
||||
{
|
||||
GtkWidget::interior_focus = 1
|
||||
GtkOptionMenu::indicator_size = { 9, 5 }
|
||||
@ -14,8 +14,8 @@ style "wimp-default"
|
||||
GtkTreeView::allow-rules = 0
|
||||
GtkTreeView::expander_size = 11
|
||||
|
||||
engine "wimp"
|
||||
engine "ms-windows-engine"
|
||||
{
|
||||
}
|
||||
}
|
||||
class "*" style "wimp-default"
|
||||
class "*" style "msw-default"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* Wimp "Windows Impersonator" Engine
|
||||
/* MS-Windows Engine (aka GTK-Wimp)
|
||||
*
|
||||
* Copyright (C) 2003 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Copyright (C) 2003, 2004 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Includes code adapted from redmond95 by Owen Taylor, and
|
||||
* gtk-nativewin by Evan Martin
|
||||
*
|
||||
@ -20,59 +20,59 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "wimp_style.h"
|
||||
#include "wimp_rc_style.h"
|
||||
#include "msw_style.h"
|
||||
#include "msw_rc_style.h"
|
||||
|
||||
static void wimp_rc_style_init (WimpRcStyle *style);
|
||||
static void wimp_rc_style_class_init (WimpRcStyleClass *klass);
|
||||
static GtkStyle *wimp_rc_style_create_style (GtkRcStyle *rc_style);
|
||||
static void msw_rc_style_init (MswRcStyle *style);
|
||||
static void msw_rc_style_class_init (MswRcStyleClass *klass);
|
||||
static GtkStyle *msw_rc_style_create_style (GtkRcStyle *rc_style);
|
||||
|
||||
static GtkRcStyleClass *parent_class;
|
||||
|
||||
GType wimp_type_rc_style = 0;
|
||||
GType msw_type_rc_style = 0;
|
||||
|
||||
void
|
||||
wimp_rc_style_register_type (GTypeModule *module)
|
||||
msw_rc_style_register_type (GTypeModule *module)
|
||||
{
|
||||
static const GTypeInfo object_info =
|
||||
{
|
||||
sizeof (WimpRcStyleClass),
|
||||
sizeof (MswRcStyleClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) wimp_rc_style_class_init,
|
||||
(GClassInitFunc) msw_rc_style_class_init,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (WimpRcStyle),
|
||||
sizeof (MswRcStyle),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) wimp_rc_style_init,
|
||||
(GInstanceInitFunc) msw_rc_style_init,
|
||||
};
|
||||
|
||||
wimp_type_rc_style = g_type_module_register_type (module,
|
||||
msw_type_rc_style = g_type_module_register_type (module,
|
||||
GTK_TYPE_RC_STYLE,
|
||||
"WimpRcStyle",
|
||||
"MswRcStyle",
|
||||
&object_info, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
wimp_rc_style_init (WimpRcStyle *style)
|
||||
msw_rc_style_init (MswRcStyle *style)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
wimp_rc_style_class_init (WimpRcStyleClass *klass)
|
||||
msw_rc_style_class_init (MswRcStyleClass *klass)
|
||||
{
|
||||
GtkRcStyleClass *rc_style_class = GTK_RC_STYLE_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
rc_style_class->create_style = wimp_rc_style_create_style;
|
||||
rc_style_class->create_style = msw_rc_style_create_style;
|
||||
}
|
||||
|
||||
/* Create an empty style suitable to this RC style
|
||||
*/
|
||||
static GtkStyle *
|
||||
wimp_rc_style_create_style (GtkRcStyle *rc_style)
|
||||
msw_rc_style_create_style (GtkRcStyle *rc_style)
|
||||
{
|
||||
return GTK_STYLE (g_object_new (WIMP_TYPE_STYLE, NULL));
|
||||
return GTK_STYLE (g_object_new (MSW_TYPE_STYLE, NULL));
|
||||
}
|
||||
|
||||
54
modules/engines/ms-windows/msw_rc_style.h
Executable file
54
modules/engines/ms-windows/msw_rc_style.h
Executable file
@ -0,0 +1,54 @@
|
||||
/* MS-Windows Engine (aka GTK-Wimp)
|
||||
*
|
||||
* Copyright (C) 2003, 2004 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Includes code adapted from redmond95 by Owen Taylor, and
|
||||
* gtk-nativewin by Evan Martin
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library 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.
|
||||
*/
|
||||
|
||||
#ifndef MSW_RC_STYLE_H
|
||||
#define MSW_RC_STYLE_H
|
||||
|
||||
#include <gtk/gtkrc.h>
|
||||
|
||||
typedef struct _MswRcStyle MswRcStyle;
|
||||
typedef struct _MswRcStyleClass MswRcStyleClass;
|
||||
|
||||
extern GType msw_type_rc_style;
|
||||
|
||||
#define MSW_TYPE_RC_STYLE msw_type_rc_style
|
||||
#define MSW_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), MSW_TYPE_RC_STYLE, MswRcStyle))
|
||||
#define MSW_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MSW_TYPE_RC_STYLE, MswRcStyleClass))
|
||||
#define MSW_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), MSW_TYPE_RC_STYLE))
|
||||
#define MSW_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MSW_TYPE_RC_STYLE))
|
||||
#define MSW_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MSW_TYPE_RC_STYLE, MswRcStyleClass))
|
||||
|
||||
struct _MswRcStyle
|
||||
{
|
||||
GtkRcStyle parent_instance;
|
||||
|
||||
GList *img_list;
|
||||
};
|
||||
|
||||
struct _MswRcStyleClass
|
||||
{
|
||||
GtkRcStyleClass parent_class;
|
||||
};
|
||||
|
||||
void msw_rc_style_register_type (GTypeModule *module);
|
||||
|
||||
#endif /* MSW_TYPE_RC_STYLE */
|
||||
@ -1,6 +1,6 @@
|
||||
/* Wimp "Windows Impersonator" Engine
|
||||
/* MS-Windows Engine (aka GTK-Wimp)
|
||||
*
|
||||
* Copyright (C) 2003 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Copyright (C) 2003, 2004 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Includes code adapted from redmond95 by Owen Taylor, and
|
||||
* gtk-nativewin by Evan Martin
|
||||
*
|
||||
@ -20,7 +20,7 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "wimp_style.h"
|
||||
#include "msw_style.h"
|
||||
#include "xp_theme.h"
|
||||
|
||||
#include <windows.h>
|
||||
@ -481,7 +481,7 @@ setup_menu_settings (void)
|
||||
}
|
||||
|
||||
void
|
||||
wimp_style_setup_system_settings (void)
|
||||
msw_style_setup_system_settings (void)
|
||||
{
|
||||
GtkSettings * settings;
|
||||
int cursor_blink_time;
|
||||
@ -600,7 +600,7 @@ setup_default_style (void)
|
||||
text_aa[4].blue = (windowtext.blue + window.blue) / 2;
|
||||
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-base\" = \"wimp-default\"\n"
|
||||
"style \"msw-base\" = \"msw-default\"\n"
|
||||
"{\n"
|
||||
"bg[NORMAL] = { %d, %d, %d }\n"
|
||||
"bg[SELECTED] = { %d, %d, %d }\n"
|
||||
@ -637,7 +637,7 @@ setup_default_style (void)
|
||||
"text_aa[INSENSITIVE] = { %d, %d, %d }\n"
|
||||
"text_aa[ACTIVE] = { %d, %d, %d }\n"
|
||||
"text_aa[PRELIGHT] = { %d, %d, %d }\n"
|
||||
"}widget_class \"*\" style \"wimp-base\"\n",
|
||||
"}widget_class \"*\" style \"msw-base\"\n",
|
||||
|
||||
/* bg */
|
||||
btnface.red, btnface.green, btnface.blue,
|
||||
@ -693,7 +693,7 @@ setup_default_style (void)
|
||||
#endif
|
||||
|
||||
static void
|
||||
setup_wimp_rc_style(void)
|
||||
setup_msw_rc_style(void)
|
||||
{
|
||||
/* TODO: Owen says:
|
||||
"If your setup_system_styles() function called gtk_rc_parse_string(), then you are just piling a new set of strings on top each time the theme changes .. the old ones won't be removed" */
|
||||
@ -738,7 +738,7 @@ setup_wimp_rc_style(void)
|
||||
/* Enable coloring for menus. */
|
||||
font_ptr = sys_font_to_pango_font (XP_THEME_CLASS_MENU, XP_THEME_FONT_MENU,font_buf, sizeof (font_buf));
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-menu\" = \"wimp-default\"\n"
|
||||
"style \"msw-menu\" = \"msw-default\"\n"
|
||||
"{\n"
|
||||
"fg[PRELIGHT] = { %d, %d, %d }\n"
|
||||
"bg[PRELIGHT] = { %d, %d, %d }\n"
|
||||
@ -747,9 +747,9 @@ setup_wimp_rc_style(void)
|
||||
"fg[NORMAL] = { %d, %d, %d }\n"
|
||||
"bg[NORMAL] = { %d, %d, %d }\n"
|
||||
"%s = \"%s\"\n"
|
||||
"}widget_class \"*MenuItem*\" style \"wimp-menu\"\n"
|
||||
"widget_class \"*GtkMenu\" style \"wimp-menu\"\n"
|
||||
"widget_class \"*GtkMenuShell*\" style \"wimp-menu\"\n",
|
||||
"}widget_class \"*MenuItem*\" style \"msw-menu\"\n"
|
||||
"widget_class \"*GtkMenu\" style \"msw-menu\"\n"
|
||||
"widget_class \"*GtkMenuShell*\" style \"msw-menu\"\n",
|
||||
fg_prelight.red,
|
||||
fg_prelight.green,
|
||||
fg_prelight.blue,
|
||||
@ -775,10 +775,10 @@ setup_wimp_rc_style(void)
|
||||
/* Enable coloring for menu bars. */
|
||||
font_ptr = sys_font_to_pango_font (XP_THEME_CLASS_MENU, XP_THEME_FONT_MENU,font_buf, sizeof (font_buf));
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-menu-bar\" = \"wimp-menu\"\n"
|
||||
"style \"msw-menu-bar\" = \"msw-menu\"\n"
|
||||
"{\n"
|
||||
"bg[NORMAL] = { %d, %d, %d }\n"
|
||||
"}widget_class \"*MenuBar*\" style \"wimp-menu-bar\"\n",
|
||||
"}widget_class \"*MenuBar*\" style \"msw-menu-bar\"\n",
|
||||
btn_face.red,
|
||||
btn_face.green,
|
||||
btn_face.blue);
|
||||
@ -787,10 +787,10 @@ setup_wimp_rc_style(void)
|
||||
/* enable tooltip fonts */
|
||||
font_ptr = sys_font_to_pango_font (XP_THEME_CLASS_STATUS, XP_THEME_FONT_STATUS,font_buf, sizeof (font_buf));
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-tooltips-caption\" = \"wimp-default\"\n"
|
||||
"style \"msw-tooltips-caption\" = \"msw-default\"\n"
|
||||
"{fg[NORMAL] = { %d, %d, %d }\n"
|
||||
"%s = \"%s\"\n"
|
||||
"}widget \"gtk-tooltips.GtkLabel\" style \"wimp-tooltips-caption\"\n",
|
||||
"}widget \"gtk-tooltips.GtkLabel\" style \"msw-tooltips-caption\"\n",
|
||||
tooltip_fore.red,
|
||||
tooltip_fore.green,
|
||||
tooltip_fore.blue,
|
||||
@ -799,9 +799,9 @@ setup_wimp_rc_style(void)
|
||||
gtk_rc_parse_string(buf);
|
||||
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-tooltips\" = \"wimp-default\"\n"
|
||||
"style \"msw-tooltips\" = \"msw-default\"\n"
|
||||
"{bg[NORMAL] = { %d, %d, %d }\n"
|
||||
"}widget \"gtk-tooltips*\" style \"wimp-tooltips\"\n",
|
||||
"}widget \"gtk-tooltips*\" style \"msw-tooltips\"\n",
|
||||
tooltip_back.red,
|
||||
tooltip_back.green,
|
||||
tooltip_back.blue);
|
||||
@ -810,10 +810,10 @@ setup_wimp_rc_style(void)
|
||||
/* enable font theming for status bars */
|
||||
font_ptr = sys_font_to_pango_font (XP_THEME_CLASS_STATUS, XP_THEME_FONT_STATUS,font_buf, sizeof (font_buf));
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-status\" = \"wimp-default\"\n"
|
||||
"style \"msw-status\" = \"msw-default\"\n"
|
||||
"{%s = \"%s\"\n"
|
||||
"bg[NORMAL] = { %d, %d, %d }\n"
|
||||
"}widget_class \"*Status*\" style \"wimp-status\"\n",
|
||||
"}widget_class \"*Status*\" style \"msw-status\"\n",
|
||||
(font_ptr ? "font_name" : "#"),
|
||||
(font_ptr ? font_ptr : " font name should go here"),
|
||||
btn_face.red, btn_face.green, btn_face.blue);
|
||||
@ -822,7 +822,7 @@ setup_wimp_rc_style(void)
|
||||
/* enable coloring for text on buttons
|
||||
TODO: use GetThemeMetric for the border and outside border */
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-button\" = \"wimp-default\"\n"
|
||||
"style \"msw-button\" = \"msw-default\"\n"
|
||||
"{\n"
|
||||
"bg[NORMAL] = { %d, %d, %d }\n"
|
||||
"bg[PRELIGHT] = { %d, %d, %d }\n"
|
||||
@ -832,7 +832,7 @@ setup_wimp_rc_style(void)
|
||||
"GtkButton::default-outside-border = { 0, 0, 0, 0 }\n"
|
||||
"GtkButton::child-displacement-x = 1\n"
|
||||
"GtkButton::child-displacement-y = 1\n"
|
||||
"}widget_class \"*Button*\" style \"wimp-button\"\n",
|
||||
"}widget_class \"*Button*\" style \"msw-button\"\n",
|
||||
btn_face.red, btn_face.green, btn_face.blue,
|
||||
btn_face.red, btn_face.green, btn_face.blue,
|
||||
btn_face.red, btn_face.green, btn_face.blue,
|
||||
@ -842,10 +842,10 @@ setup_wimp_rc_style(void)
|
||||
|
||||
/* enable coloring for progress bars */
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-progress\" = \"wimp-default\"\n"
|
||||
"style \"msw-progress\" = \"msw-default\"\n"
|
||||
"{bg[PRELIGHT] = { %d, %d, %d }\n"
|
||||
"bg[NORMAL] = { %d, %d, %d }\n"
|
||||
"}widget_class \"*Progress*\" style \"wimp-progress\"\n",
|
||||
"}widget_class \"*Progress*\" style \"msw-progress\"\n",
|
||||
progress_back.red,
|
||||
progress_back.green,
|
||||
progress_back.blue,
|
||||
@ -854,33 +854,33 @@ setup_wimp_rc_style(void)
|
||||
|
||||
/* scrollbar thumb width and height */
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-vscrollbar\" = \"wimp-default\"\n"
|
||||
"style \"msw-vscrollbar\" = \"msw-default\"\n"
|
||||
"{GtkRange::slider-width = %d\n"
|
||||
"GtkRange::stepper-size = %d\n"
|
||||
"GtkRange::stepper-spacing = 0\n"
|
||||
"GtkRange::trough_border = 0\n"
|
||||
"}widget_class \"*VScrollbar*\" style \"wimp-vscrollbar\"\n",
|
||||
"}widget_class \"*VScrollbar*\" style \"msw-vscrollbar\"\n",
|
||||
GetSystemMetrics(SM_CYVTHUMB),
|
||||
get_system_metric(XP_THEME_CLASS_SCROLLBAR, SM_CXVSCROLL));
|
||||
gtk_rc_parse_string(buf);
|
||||
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-hscrollbar\" = \"wimp-default\"\n"
|
||||
"style \"msw-hscrollbar\" = \"msw-default\"\n"
|
||||
"{GtkRange::slider-width = %d\n"
|
||||
"GtkRange::stepper-size = %d\n"
|
||||
"GtkRange::stepper-spacing = 0\n"
|
||||
"GtkRange::trough_border = 0\n"
|
||||
"}widget_class \"*HScrollbar*\" style \"wimp-hscrollbar\"\n",
|
||||
"}widget_class \"*HScrollbar*\" style \"msw-hscrollbar\"\n",
|
||||
GetSystemMetrics(SM_CXHTHUMB),
|
||||
get_system_metric(XP_THEME_CLASS_SCROLLBAR, SM_CYHSCROLL));
|
||||
gtk_rc_parse_string(buf);
|
||||
|
||||
/* radio/check button sizes */
|
||||
g_snprintf(buf, sizeof (buf),
|
||||
"style \"wimp-checkbutton\" = \"wimp-button\"\n"
|
||||
"style \"msw-checkbutton\" = \"msw-button\"\n"
|
||||
"{GtkCheckButton::indicator-size = 13\n"
|
||||
"}widget_class \"*CheckButton*\" style \"wimp-checkbutton\"\n"
|
||||
"widget_class \"*RadioButton*\" style \"wimp-checkbutton\"\n");
|
||||
"}widget_class \"*CheckButton*\" style \"msw-checkbutton\"\n"
|
||||
"widget_class \"*RadioButton*\" style \"msw-checkbutton\"\n");
|
||||
gtk_rc_parse_string(buf);
|
||||
}
|
||||
|
||||
@ -1985,7 +1985,7 @@ draw_handle (GtkStyle *style,
|
||||
}
|
||||
|
||||
static void
|
||||
wimp_style_init_from_rc (GtkStyle * style, GtkRcStyle * rc_style)
|
||||
msw_style_init_from_rc (GtkStyle * style, GtkRcStyle * rc_style)
|
||||
{
|
||||
setup_system_font (style);
|
||||
setup_menu_settings ();
|
||||
@ -1994,13 +1994,13 @@ wimp_style_init_from_rc (GtkStyle * style, GtkRcStyle * rc_style)
|
||||
}
|
||||
|
||||
static void
|
||||
wimp_style_class_init (WimpStyleClass *klass)
|
||||
msw_style_class_init (MswStyleClass *klass)
|
||||
{
|
||||
GtkStyleClass *style_class = GTK_STYLE_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
style_class->init_from_rc = wimp_style_init_from_rc;
|
||||
style_class->init_from_rc = msw_style_init_from_rc;
|
||||
style_class->draw_arrow = draw_arrow;
|
||||
style_class->draw_box = draw_box;
|
||||
style_class->draw_check = draw_check;
|
||||
@ -2017,34 +2017,34 @@ wimp_style_class_init (WimpStyleClass *klass)
|
||||
style_class->draw_resize_grip = draw_resize_grip;
|
||||
}
|
||||
|
||||
GType wimp_type_style = 0;
|
||||
GType msw_type_style = 0;
|
||||
|
||||
void
|
||||
wimp_style_register_type (GTypeModule *module)
|
||||
msw_style_register_type (GTypeModule *module)
|
||||
{
|
||||
static const GTypeInfo object_info =
|
||||
{
|
||||
sizeof (WimpStyleClass),
|
||||
sizeof (MswStyleClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) wimp_style_class_init,
|
||||
(GClassInitFunc) msw_style_class_init,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (WimpStyle),
|
||||
sizeof (MswStyle),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) NULL,
|
||||
};
|
||||
|
||||
wimp_type_style = g_type_module_register_type (module,
|
||||
msw_type_style = g_type_module_register_type (module,
|
||||
GTK_TYPE_STYLE,
|
||||
"WimpStyle",
|
||||
"MswStyle",
|
||||
&object_info, 0);
|
||||
}
|
||||
|
||||
void
|
||||
wimp_style_init (void)
|
||||
msw_style_init (void)
|
||||
{
|
||||
xp_theme_init ();
|
||||
wimp_style_setup_system_settings ();
|
||||
setup_wimp_rc_style ();
|
||||
msw_style_setup_system_settings ();
|
||||
setup_msw_rc_style ();
|
||||
}
|
||||
54
modules/engines/ms-windows/msw_style.h
Executable file
54
modules/engines/ms-windows/msw_style.h
Executable file
@ -0,0 +1,54 @@
|
||||
/* MS-Windows Engine (aka GTK-Wimp)
|
||||
*
|
||||
* Copyright (C) 2003, 2004 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Includes code adapted from redmond95 by Owen Taylor, and
|
||||
* gtk-nativewin by Evan Martin
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library 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.
|
||||
*/
|
||||
|
||||
#ifndef MSW_STYLE_H
|
||||
#define MSW_STYLE_H
|
||||
|
||||
#include <gtk/gtkstyle.h>
|
||||
|
||||
typedef struct _MswStyle MswStyle;
|
||||
typedef struct _MswStyleClass MswStyleClass;
|
||||
|
||||
extern GType msw_type_style;
|
||||
|
||||
#define MSW_TYPE_STYLE msw_type_style
|
||||
#define MSW_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), MSW_TYPE_STYLE, MswStyle))
|
||||
#define MSW_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MSW_TYPE_STYLE, MswStyleClass))
|
||||
#define MSW_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), MSW_TYPE_STYLE))
|
||||
#define MSW_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MSW_TYPE_STYLE))
|
||||
#define MSW_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MSW_TYPE_STYLE, MswStyleClass))
|
||||
|
||||
struct _MswStyle
|
||||
{
|
||||
GtkStyle parent_instance;
|
||||
};
|
||||
|
||||
struct _MswStyleClass
|
||||
{
|
||||
GtkStyleClass parent_class;
|
||||
};
|
||||
|
||||
void msw_style_register_type (GTypeModule *module);
|
||||
void msw_style_init (void);
|
||||
void msw_style_setup_system_settings (void);
|
||||
|
||||
#endif /* MSW_TYPE_STYLE */
|
||||
@ -1,6 +1,6 @@
|
||||
/* Wimp "Windows Impersonator" Engine
|
||||
/* MS-Windows Engine (aka GTK-Wimp)
|
||||
*
|
||||
* Copyright (C) 2003 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Copyright (C) 2003, 2004 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Includes code adapted from redmond95 by Owen Taylor, and
|
||||
* gtk-nativewin by Evan Martin
|
||||
*
|
||||
@ -24,8 +24,8 @@
|
||||
#include <gmodule.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "wimp_style.h"
|
||||
#include "wimp_rc_style.h"
|
||||
#include "msw_style.h"
|
||||
#include "msw_rc_style.h"
|
||||
|
||||
#ifndef WM_THEMECHANGED
|
||||
#define WM_THEMECHANGED 0x031A /* winxp only */
|
||||
@ -50,7 +50,7 @@ global_filter_func (void *xevent,
|
||||
case WM_THEMECHANGED:
|
||||
case WM_SYSCOLORCHANGE:
|
||||
xp_theme_reset ();
|
||||
wimp_style_init ();
|
||||
msw_style_init ();
|
||||
|
||||
/* force all gtkwidgets to redraw */
|
||||
gtk_rc_reparse_all_for_settings (gtk_settings_get_default(), TRUE);
|
||||
@ -59,7 +59,7 @@ global_filter_func (void *xevent,
|
||||
|
||||
case WM_SETTINGCHANGE:
|
||||
/* catch cursor blink, etc... changes */
|
||||
wimp_style_setup_system_settings ();
|
||||
msw_style_setup_system_settings ();
|
||||
return GDK_FILTER_REMOVE;
|
||||
|
||||
default:
|
||||
@ -70,9 +70,9 @@ global_filter_func (void *xevent,
|
||||
G_MODULE_EXPORT void
|
||||
theme_init (GTypeModule *module)
|
||||
{
|
||||
wimp_rc_style_register_type (module);
|
||||
wimp_style_register_type (module);
|
||||
wimp_style_init ();
|
||||
msw_rc_style_register_type (module);
|
||||
msw_style_register_type (module);
|
||||
msw_style_init ();
|
||||
gdk_window_add_filter (NULL, global_filter_func, NULL);
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@ theme_exit (void)
|
||||
G_MODULE_EXPORT GtkRcStyle *
|
||||
theme_create_rc_style (void)
|
||||
{
|
||||
return GTK_RC_STYLE (g_object_new (WIMP_TYPE_RC_STYLE, NULL));
|
||||
return GTK_RC_STYLE (g_object_new (MSW_TYPE_RC_STYLE, NULL));
|
||||
}
|
||||
|
||||
/* The following function will be called by GTK+ when the module
|
||||
@ -1,54 +0,0 @@
|
||||
/* Wimp "Windows Impersonator" Engine
|
||||
*
|
||||
* Copyright (C) 2003 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Includes code adapted from redmond95 by Owen Taylor, and
|
||||
* gtk-nativewin by Evan Martin
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library 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.
|
||||
*/
|
||||
|
||||
#ifndef WIMP_RC_STYLE_H
|
||||
#define WIMP_RC_STYLE_H
|
||||
|
||||
#include <gtk/gtkrc.h>
|
||||
|
||||
typedef struct _WimpRcStyle WimpRcStyle;
|
||||
typedef struct _WimpRcStyleClass WimpRcStyleClass;
|
||||
|
||||
extern GType wimp_type_rc_style;
|
||||
|
||||
#define WIMP_TYPE_RC_STYLE wimp_type_rc_style
|
||||
#define WIMP_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WIMP_TYPE_RC_STYLE, WimpRcStyle))
|
||||
#define WIMP_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIMP_TYPE_RC_STYLE, WimpRcStyleClass))
|
||||
#define WIMP_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WIMP_TYPE_RC_STYLE))
|
||||
#define WIMP_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIMP_TYPE_RC_STYLE))
|
||||
#define WIMP_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIMP_TYPE_RC_STYLE, WimpRcStyleClass))
|
||||
|
||||
struct _WimpRcStyle
|
||||
{
|
||||
GtkRcStyle parent_instance;
|
||||
|
||||
GList *img_list;
|
||||
};
|
||||
|
||||
struct _WimpRcStyleClass
|
||||
{
|
||||
GtkRcStyleClass parent_class;
|
||||
};
|
||||
|
||||
void wimp_rc_style_register_type (GTypeModule *module);
|
||||
|
||||
#endif /* WIMP_TYPE_RC_STYLE */
|
||||
@ -1,54 +0,0 @@
|
||||
/* Wimp "Windows Impersonator" Engine
|
||||
*
|
||||
* Copyright (C) 2003 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Includes code adapted from redmond95 by Owen Taylor, and
|
||||
* gtk-nativewin by Evan Martin
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library 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.
|
||||
*/
|
||||
|
||||
#ifndef WIMP_STYLE_H
|
||||
#define WIMP_STYLE_H
|
||||
|
||||
#include <gtk/gtkstyle.h>
|
||||
|
||||
typedef struct _WimpStyle WimpStyle;
|
||||
typedef struct _WimpStyleClass WimpStyleClass;
|
||||
|
||||
extern GType wimp_type_style;
|
||||
|
||||
#define WIMP_TYPE_STYLE wimp_type_style
|
||||
#define WIMP_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WIMP_TYPE_STYLE, WimpStyle))
|
||||
#define WIMP_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIMP_TYPE_STYLE, WimpStyleClass))
|
||||
#define WIMP_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WIMP_TYPE_STYLE))
|
||||
#define WIMP_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIMP_TYPE_STYLE))
|
||||
#define WIMP_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIMP_TYPE_STYLE, WimpStyleClass))
|
||||
|
||||
struct _WimpStyle
|
||||
{
|
||||
GtkStyle parent_instance;
|
||||
};
|
||||
|
||||
struct _WimpStyleClass
|
||||
{
|
||||
GtkStyleClass parent_class;
|
||||
};
|
||||
|
||||
void wimp_style_register_type (GTypeModule *module);
|
||||
void wimp_style_init (void);
|
||||
void wimp_style_setup_system_settings (void);
|
||||
|
||||
#endif /* WIMP_TYPE_STYLE */
|
||||
@ -1,6 +1,6 @@
|
||||
/* Wimp "Windows Impersonator" Engine
|
||||
/* MS-Windows Engine (aka GTK-Wimp)
|
||||
*
|
||||
* Copyright (C) 2003 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Copyright (C) 2003, 2004 Raymond Penners <raymond@dotsphinx.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* Wimp "Windows Impersonator" Engine
|
||||
/* MS-Windows Engine (aka GTK-Wimp)
|
||||
*
|
||||
* Copyright (C) 2003 Raymond Penners <raymond@dotsphinx.com>
|
||||
* Copyright (C) 2003, 2004 Raymond Penners <raymond@dotsphinx.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* Wimp "Windows Impersonator" Engine
|
||||
/* MS-Windows Engine (aka GTK-Wimp)
|
||||
*
|
||||
* Copyright (C) 2003 Dom Lachowicz <cinamod@hotmail.com>
|
||||
* Copyright (C) 2003, 2004 Dom Lachowicz <cinamod@hotmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
|
||||
Reference in New Issue
Block a user