3 #include "constantstrings.h"
4 #include "wordblox_resource.c"
9 /* slot for drawing the puzzle */
10 gboolean
on_puzzle_area_draw (GtkWidget
*widget
, cairo_t
*cr
, gpointer data
)
12 GdkRGBA colorfore
, colorback
;
13 gdk_rgba_parse (&colorfore
, "#000000");
14 gdk_rgba_parse (&colorback
, "#ffffff");
15 cairo_set_line_width (cr
, 3);
16 gtk_widget_set_size_request (widget
, 10*30+5, 10*30+5);
17 for (int i
= 0; i
< 10; i
++)
19 for (int j
= 0; j
< 10; j
++)
21 cairo_rectangle (cr
, i
*30+5, j
*30+5, 30, 30);
22 gdk_cairo_set_source_rgba (cr
, &colorfore
);
25 cairo_rectangle (cr
, i
*30+5, j
*30+5, 30, 30);
26 gdk_cairo_set_source_rgba (cr
, &colorback
);
35 /* slot for exit menu */
36 void on_menu_exit_activate (GtkMenuItem
*item
, gpointer data
)
41 /* slot for open menu */
42 void on_menu_open_activate (GtkMenuItem
*item
, gpointer data
)
45 GtkFileChooserAction action
= GTK_FILE_CHOOSER_ACTION_OPEN
;
47 dialog
= gtk_file_chooser_dialog_new (OPEN_FILE
, GTK_WINDOW(window
), action
,
53 res
= gtk_dialog_run (GTK_DIALOG (dialog
));
54 if (res
== GTK_RESPONSE_ACCEPT
)
57 filename
= gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(dialog
));
58 Puzzle p
= load_puzzle (filename
);
59 /* if the grid is not frozen then the game cannot be played */
60 if (p
.grid_frozen
== false)
63 errordlg
= gtk_message_dialog_new (GTK_WINDOW(window
),
64 GTK_DIALOG_DESTROY_WITH_PARENT
,
67 UNFROZEN_GRID_PLAYER
);
68 gtk_dialog_run (GTK_DIALOG(errordlg
));
69 gtk_widget_destroy (errordlg
);
76 gtk_widget_destroy (dialog
);
79 /* slot for about menu */
80 void on_menu_about_activate (GtkMenuItem
*item
, gpointer data
)
82 const char *AUTHOR
[] = {"V.Harishankar", NULL
};
83 gtk_show_about_dialog (GTK_WINDOW(window
), "authors",AUTHOR
,
84 "program-name", PROGRAM_NAME
,
85 "copyright", COPYRIGHT
,
88 "website-label", WEBSITE_LABEL
,
89 "license-type", GTK_LICENSE_GPL_2_0
,
94 int main (int argc
, char *argv
[])
96 gtk_init (&argc
, &argv
);
98 icon
= gdk_pixbuf_new_from_resource
99 ("/org/harishankar/wordblox/wordblox.svg", NULL
);
101 fprintf (stderr
, ERROR_ICON
);
104 builder
= gtk_builder_new ();
105 guint ret
= gtk_builder_add_from_resource (builder
,
106 "/org/harishankar/wordblox/wordblox_player.glade", NULL
);
110 fprintf (stderr
, ERROR_WINDOW
);
111 g_object_unref (builder
);
116 window
= GTK_WIDGET (gtk_builder_get_object (builder
, "main_window") );
119 gtk_window_set_default_icon (icon
);
121 gtk_builder_connect_signals (builder
, NULL
);
122 g_object_unref (builder
);
123 gtk_widget_show (window
);
129 g_object_unref (builder
);
130 fprintf (stderr
, ERROR_WINDOW
);