summaryrefslogtreecommitdiff
path: root/beos/beos_window.h
diff options
context:
space:
mode:
authorFrançois Revel <mmu_man@netsurf-browser.org>2008-06-03 19:07:09 +0000
committerFrançois Revel <mmu_man@netsurf-browser.org>2008-06-03 19:07:09 +0000
commit90a15a9753a4e882a4a0d7ce04fdae9ec5d29683 (patch)
treeb4c7f4651ce7f2c0e48b9eb4a6c91ffd56f5a1da /beos/beos_window.h
parent86e74c970bb29c0a31d0235cf6b9ab261fffbad5 (diff)
downloadnetsurf-90a15a9753a4e882a4a0d7ce04fdae9ec5d29683.tar.gz
netsurf-90a15a9753a4e882a4a0d7ce04fdae9ec5d29683.tar.bz2
The BeOS-specific part of the BeOS (and Haiku) port, modeled mostly from the GTK version.
Some fixes are needed elsewhere but non-obvious ones I'll post on the mailing list for discussion. Currently it opens windows with a toolbar, url and status bar, a (yet empty) menu bar. Rendering seems to work including scrolling at scale 1 (other non-tested). framesets seems broken though. svn path=/trunk/netsurf/; revision=4253
Diffstat (limited to 'beos/beos_window.h')
-rw-r--r--beos/beos_window.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/beos/beos_window.h b/beos/beos_window.h
new file mode 100644
index 000000000..6dd3ecdd7
--- /dev/null
+++ b/beos/beos_window.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2006 Daniel Silverstone <dsilvers@digital-scurf.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NETSURF_BEOS_WINDOW_H
+#define NETSURF_BEOS_WINDOW_H 1
+
+extern "C" {
+#include "desktop/gui.h"
+#include "desktop/browser.h"
+}
+#include "beos/beos_scaffolding.h"
+
+class NSBrowserFrameView : public BView {
+public:
+ NSBrowserFrameView(BRect frame, struct gui_window *gui);
+virtual ~NSBrowserFrameView();
+
+virtual void MessageReceived(BMessage *message);
+virtual void Draw(BRect updateRect);
+
+//virtual void FrameMoved(BPoint new_location);
+virtual void FrameResized(float new_width, float new_height);
+
+virtual void KeyDown(const char *bytes, int32 numBytes);
+virtual void MouseDown(BPoint where);
+virtual void MouseUp(BPoint where);
+virtual void MouseMoved(BPoint where, uint32 transit, const BMessage *msg);
+
+private:
+ struct gui_window *fGuiWindow;
+};
+
+void nsbeos_dispatch_event(BMessage *message);
+
+
+
+void nsbeos_reflow_all_windows(void);
+void nsbeos_window_process_reformats(void);
+
+nsbeos_scaffolding *nsbeos_get_scaffold(struct gui_window *g);
+struct browser_window *nsbeos_get_browser_for_gui(struct gui_window *g);
+
+float nsbeos_get_scale_for_gui(struct gui_window *g);
+int nsbeos_gui_window_update_targets(struct gui_window *g);
+void nsbeos_window_destroy_browser(struct gui_window *g);
+
+struct browser_window *nsbeos_get_browser_window(struct gui_window *g);
+
+#endif /* NETSURF_BEOS_WINDOW_H */