f2b8862da07aadcafd0c8c9e7e969a9795102f43
[WebKit.git] / WebKitTools / GdkLauncher / main.cpp
1 #include <assert.h>
2 #include <stdio.h>
3 #include <string.h>
4 #include <unistd.h>
5 #include <gdk/gdk.h>
6 #include <gtk/gtk.h>
7 #include "config.h"
8 #include "FrameGdk.h"
9 #include "Page.h"
10 #include "Document.h"
11 #include "DocLoader.h"
12 #include "DOMImplementation.h"
13 //#include "HTMLDocument.h"
14
15 #include "Cache.h"
16 #include "EventNames.h"
17 //#include "htmlnames.h"
18
19 #if SVG_SUPPORT
20 #include "SVGNames.h"
21 #include "XLinkNames.h"
22 #include "SVGDocumentExtensions.h"
23 #endif
24
25 //painting
26 #include "RenderObject.h"
27 #include "GraphicsContext.h"
28
29 using namespace WebCore;
30
31 static  FrameGdk *frame;
32 static  GdkWindow *win;
33
34 static void handle_event(GdkEvent *event)
35 {
36   if (GDK_DELETE == event->type) {
37       gtk_main_quit();
38       return;
39   }
40   frame->handleGdkEvent(event);
41 }
42
43 int main(int argc, char *argv[]) 
44 {
45   GdkWindowAttr attr;
46   char *url;
47   gdk_init(&argc,&argv);
48   gdk_event_handler_set ((GdkEventFunc)handle_event, NULL, NULL);
49
50   attr.width = 800;
51   attr.height = 600;
52   attr.window_type = GDK_WINDOW_TOPLEVEL;
53   attr.wclass = GDK_INPUT_OUTPUT;
54   //see how where we handle motion here need to do the hint stuff
55   attr.event_mask = ((GDK_ALL_EVENTS_MASK^GDK_POINTER_MOTION_HINT_MASK)); 
56   win = gdk_window_new(NULL,&attr,0);
57   frame = new FrameGdk(win);
58   gdk_window_show(win);
59   char *pg = " <html><head><title>Google</title> <body bgcolor=#ffffff text=#000000> <p><font size=-2/>2006 Google Hello bigworld from mike</p></body></html> ";
60   url = "http://www.google.com";
61   if (argc >= 2) 
62       url = argv[1];
63
64   if (url) {
65     printf("OPENING URL == %s \n", url);
66     frame->openURL(url);
67   } else {
68 /*
69     frame->createEmptyDocument();
70     frame->document()->open();
71     frame->write(pg,strlen(pg));
72     frame->document()->close();
73 */
74   }
75
76   gtk_main();
77   delete frame;
78   return 0;
79 }