Introduction
Introduction Statistics Contact Development Disclaimer Help
tFixes for compilation under Win32. - vaccinewars - be a doctor and try to vacc…
git clone git://src.adamsgaard.dk/vaccinewars
Log
Files
Refs
README
LICENSE
---
commit 64b99d4dfee7b87fb0018d5525dbf16d4fe6cde7
parent 0ac889465a748a4c92a1718dbb3d8618811838de
Author: Ben Webb <[email protected]>
Date: Mon, 25 Mar 2002 16:52:46 +0000
Fixes for compilation under Win32.
Diffstat:
M src/Makefile.am | 1 +
M src/Makefile.in | 49 +----------------------------…
M src/gtkport/gtkport.c | 54 +++++++++++++++++++++++++++--…
M src/gtkport/gtkport.h | 62 +++++++++++++++++++++++++----…
4 files changed, 100 insertions(+), 66 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
t@@ -20,6 +20,7 @@ endif
SUBDIRS = $(GUISUBDIR) $(CURSESSUBDIR) $(GTKPORTSUBDIR) $(CURSESPORTSUBDIR)
dopewars_LDADD = $(GUILIB) $(CURSESLIB) $(GTKPORTLIB) $(CURSESPORTLIB) @GTK_LI…
+dopewars_DEPENDENCIES = @WNDRES@
bin_PROGRAMS = dopewars
dopewars_SOURCES = admin.c admin.h AIPlayer.c AIPlayer.h util.c util.h \
diff --git a/src/Makefile.in b/src/Makefile.in
t@@ -111,6 +111,7 @@ localedir = @localedir@
SUBDIRS = $(GUISUBDIR) $(CURSESSUBDIR) $(GTKPORTSUBDIR) $(CURSESPORTSUBDIR)
dopewars_LDADD = $(GUILIB) $(CURSESLIB) $(GTKPORTLIB) $(CURSESPORTLIB) @GTK_LI…
+dopewars_DEPENDENCIES = @WNDRES@
bin_PROGRAMS = dopewars
dopewars_SOURCES = admin.c admin.h AIPlayer.c AIPlayer.h util.c util.h \
t@@ -136,54 +137,6 @@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
dopewars_OBJECTS = admin.o AIPlayer.o util.o dopewars.o error.o \
message.o network.o serverside.o tstring.o winmain.o
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_FALSE@@GTKPORT_FALSE@dopewar…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_FALSE@@GTKPORT_FALSE@cursesp…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_FALSE@dopewars…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_FALSE@curses_c…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_FALSE@cursespo…
-@CURSESPORT_FALSE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@dopewar…
-@CURSESPORT_FALSE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@gui_cli…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@dopewars…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@gui_clie…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@curses_c…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@dopewars_D…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@gui_client…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@curses_cli…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@gtkport/li…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@cursesport…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@dopewars_…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@gui_clien…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@curses_cl…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@cursespor…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_FALSE@dopewar…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_FALSE@curses_…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@dopewars…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@gtkport/…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@cursespo…
-@CURSESPORT_FALSE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@dopewars…
-@CURSESPORT_FALSE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@gui_clie…
-@CURSESPORT_FALSE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@gtkport/…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@dopewars_…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@gui_clien…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@gtkport/l…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@cursespor…
-@CURSESPORT_FALSE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@dopewar…
-@CURSESPORT_FALSE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@gtkport…
-@CURSESPORT_FALSE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_FALSE@@GTKPORT_FALSE@dopewa…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@dopewars…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@curses_c…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@gtkport/…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@dopewars_…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@curses_cl…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@gtkport/l…
-@CURSESPORT_TRUE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_FALSE@@GTKPORT_TRUE@cursespor…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@dopewars…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@gui_clie…
-@CURSESPORT_TRUE@@CURSES_CLIENT_FALSE@@GUI_CLIENT_TRUE@@GTKPORT_FALSE@cursespo…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@dopewars_…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@gui_clien…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@curses_cl…
-@CURSESPORT_FALSE@@CURSES_CLIENT_TRUE@@GUI_CLIENT_TRUE@@GTKPORT_TRUE@gtkport/l…
dopewars_LDFLAGS =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(…
diff --git a/src/gtkport/gtkport.c b/src/gtkport/gtkport.c
t@@ -1609,12 +1609,16 @@ void gtk_window_set_size(GtkWidget *widget, GtkAllocat…
void gtk_button_size_request(GtkWidget *widget,
GtkRequisition *requisition)
{
- SIZE size;
+ SIZE size, minsize;
GtkButton *but = GTK_BUTTON(widget);
gtk_container_size_request(widget, requisition);
- if (GetTextSize(widget->hWnd, but->text, &size, defFont)) {
+ /* Without minsize, an unexpanded "OK" button looks silly... */
+ if (GetTextSize(widget->hWnd, but->text, &size, defFont)
+ && GetTextSize(widget->hWnd, "Cancel", &minsize, defFont)) {
+ size.cx = MAX(size.cx, minsize.cx);
+ size.cy = MAX(size.cy, minsize.cy);
requisition->width = size.cx + 15;
requisition->height = size.cy + 10;
}
t@@ -1999,6 +2003,11 @@ void gtk_box_pack_start(GtkBox *box, GtkWidget *child, …
}
}
+void gtk_box_pack_start_defaults(GtkBox *box, GtkWidget *child)
+{
+ gtk_box_pack_start(box, child, FALSE, FALSE, 0);
+}
+
void gtk_button_destroy(GtkWidget *widget)
{
g_free(GTK_BUTTON(widget)->text);
t@@ -2295,16 +2304,16 @@ void gtk_window_realize(GtkWidget *widget)
resize = WS_SIZEBOX;
Parent = gtk_get_parent_hwnd(widget->parent);
- if (win->type == GTK_WINDOW_TOPLEVEL) {
+ if (Parent) {
+ widget->hWnd = CreateDialog(hInst, "gtkdialog", Parent, MainDlgProc);
+ SetWindowText(widget->hWnd, win->title);
+ } else {
widget->hWnd = CreateWindow("mainwin", win->title,
WS_OVERLAPPEDWINDOW | CS_HREDRAW |
CS_VREDRAW | resize, CW_USEDEFAULT, 0, 0,
0, Parent, NULL, hInst, NULL);
if (!TopLevel)
TopLevel = widget->hWnd;
- } else {
- widget->hWnd = CreateDialog(hInst, "gtkdialog", Parent, MainDlgProc);
- SetWindowText(widget->hWnd, win->title);
}
WindowList = g_slist_append(WindowList, (gpointer)win);
gtk_set_default_font(widget->hWnd);
t@@ -4980,6 +4989,39 @@ void gtk_timeout_remove(guint timeout_handler_id)
}
}
+GtkWidget *gtk_button_new_from_stock(const gchar *label)
+{
+ return gtk_button_new_with_label(label);
+}
+
+/* We don't really handle styles, so these are just placeholder functions */
+static GtkStyle statstyle;
+GtkStyle *gtk_style_new(void)
+{
+ return &statstyle;
+}
+
+void gtk_widget_set_style(GtkWidget *widget, GtkStyle *style)
+{
+}
+
+static gint hbbox_spacing = 0;
+
+GtkWidget *gtk_hbutton_box_new()
+{
+ GtkWidget *hbbox, *spacer;
+
+ hbbox = gtk_hbox_new(TRUE, hbbox_spacing);
+ spacer = gtk_label_new("");
+ gtk_box_pack_start(GTK_BOX(hbbox), spacer, TRUE, TRUE, 0);
+ return hbbox;
+}
+
+void gtk_hbutton_box_set_spacing_default(gint spacing)
+{
+ hbbox_spacing = spacing;
+}
+
#else /* CYGWIN */
guint SetAccelerator(GtkWidget *labelparent, gchar *Text,
GtkWidget *sendto, gchar *signal,
diff --git a/src/gtkport/gtkport.h b/src/gtkport/gtkport.h
t@@ -41,6 +41,8 @@
#define MYWM_TASKBAR (WM_USER+101)
#define MYWM_SERVICE (WM_USER+102)
+#define GDK_MOD1_MASK 0
+
extern HICON mainIcon;
typedef enum {
t@@ -53,6 +55,21 @@ typedef enum {
} GtkAccelFlags;
typedef enum {
+ GTK_BUTTONBOX_SPREAD,
+ GTK_BUTTONBOX_EDGE,
+ GTK_BUTTONBOX_START,
+ GTK_BUTTONBOX_END
+} GtkButtonBoxStyle;
+
+typedef enum {
+ GTK_STATE_NORMAL,
+ GTK_STATE_ACTIVE,
+ GTK_STATE_PRELIGHT,
+ GTK_STATE_SELECTED,
+ GTK_STATE_INSENSITIVE
+} GtkStateType;
+
+typedef enum {
GTK_VISIBILITY_NONE,
GTK_VISIBILITY_PARTIAL,
GTK_VISIBILITY_FULL
t@@ -128,6 +145,8 @@ typedef void (*GtkSignalMarshaller) (GtkObject *object, GS…
GtkSignalFunc default_action,
va_list args);
+typedef struct _GdkColor GdkColor;
+typedef struct _GtkStyle GtkStyle;
typedef struct _GtkMenuShell GtkMenuShell;
typedef struct _GtkMenuBar GtkMenuBar;
typedef struct _GtkMenuItem GtkMenuItem;
t@@ -156,6 +175,18 @@ struct _GtkSignalType {
GtkSignalFunc default_action;
};
+struct _GdkColor {
+ gulong pixel;
+ gushort red;
+ gushort green;
+ gushort blue;
+};
+
+struct _GtkStyle {
+ GdkColor fg[5];
+ GdkColor bg[5];
+};
+
typedef gboolean (*GtkWndProc) (GtkWidget *widget, UINT msg,
WPARAM wParam, LPARAM lParam, gboolean *dodef);
t@@ -591,6 +622,7 @@ void gtk_table_set_row_spacings(GtkTable *table, guint spa…
void gtk_table_set_col_spacings(GtkTable *table, guint spacing);
void gtk_box_pack_start(GtkBox *box, GtkWidget *child, gboolean Expand,
gboolean Fill, gint Padding);
+void gtk_box_pack_start_defaults(GtkBox *box, GtkWidget *child);
void gtk_toggle_button_toggled(GtkToggleButton *toggle_button);
gboolean gtk_toggle_button_get_active(GtkToggleButton *toggle_button);
void gtk_toggle_button_set_active(GtkToggleButton *toggle_button,
t@@ -673,9 +705,13 @@ void gtk_paned_pack2(GtkPaned *paned, GtkWidget *child, g…
void gtk_paned_set_position(GtkPaned *paned, gint position);
#define gtk_container_border_width gtk_container_set_border_width
-#define gtk_hbutton_box_new() gtk_hbox_new(TRUE, 5)
+GtkWidget *gtk_hbutton_box_new();
+void gtk_hbutton_box_set_spacing_default(gint spacing);
#define gtk_vbutton_box_new() gtk_vbox_new(TRUE, 5)
-GtkWidget *gtk_option_menu_new();
+#define gtk_hbutton_box_set_layout_default(layout) {}
+#define gtk_vbutton_box_set_spacing_default(spacing) {}
+#define gtk_vbutton_box_set_layout_default(layout) {}
+GtkWidget *gtk_option_menu_new(void);
GtkWidget *gtk_option_menu_get_menu(GtkOptionMenu *option_menu);
void gtk_option_menu_set_menu(GtkOptionMenu *option_menu, GtkWidget *menu);
void gtk_option_menu_set_history(GtkOptionMenu *option_menu, guint index);
t@@ -703,6 +739,8 @@ BOOL GetTextSize(HWND hWnd, char *text, LPSIZE lpSize, HFO…
void gtk_container_realize(GtkWidget *widget);
void gtk_set_default_font(HWND hWnd);
HWND gtk_get_parent_hwnd(GtkWidget *widget);
+GtkStyle *gtk_style_new(void);
+void gtk_widget_set_style(GtkWidget *widget, GtkStyle *style);
/* Functions for handling emitted signals */
void gtk_marshal_BOOL__GPOIN(GtkObject *object, GSList *actions,
t@@ -759,7 +797,16 @@ void gtk_container_set_size(GtkWidget *widget, GtkAllocat…
/* Other flags */
#define MB_IMMRETURN 16
-#ifndef HAVE_GLIB2
+typedef struct _GtkUrl GtkUrl;
+
+struct _GtkUrl {
+ GtkLabel *label;
+ gchar *target, *bin;
+};
+
+#endif /* CYGWIN */
+
+#if CYGWIN || !HAVE_GLIB2
#define GTK_STOCK_OK _("OK")
#define GTK_STOCK_CLOSE _("Close")
#define GTK_STOCK_CANCEL _("Cancel")
t@@ -778,15 +825,6 @@ typedef enum
} GtkMessageType;
#endif
-typedef struct _GtkUrl GtkUrl;
-
-struct _GtkUrl {
- GtkLabel *label;
- gchar *target, *bin;
-};
-
-#endif /* CYGWIN */
-
/* Global functions */
gint GtkMessageBox(GtkWidget *parent, const gchar *Text,
const gchar *Title, GtkMessageType type, gint Options);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.