summaryrefslogtreecommitdiff
path: root/atari/gemtk
diff options
context:
space:
mode:
authorOle Loots <ole@monochrom.net>2013-09-21 05:29:04 +0200
committerOle Loots <ole@monochrom.net>2013-09-21 05:29:04 +0200
commit3a5d8cf6c1bbecfaa23e28a8b4b25f380091db30 (patch)
tree7c7fbfb73e816863dd814c65f87874429ad52748 /atari/gemtk
parent559c9196858297862be6d5fc44ade73fcd9a0fe4 (diff)
downloadnetsurf-3a5d8cf6c1bbecfaa23e28a8b4b25f380091db30.tar.gz
netsurf-3a5d8cf6c1bbecfaa23e28a8b4b25f380091db30.tar.bz2
Hotlist and History and Cookies Manager implemented.
(The Cookie Manager window is a new one)
Diffstat (limited to 'atari/gemtk')
-rw-r--r--atari/gemtk/gemtk.h18
-rw-r--r--atari/gemtk/guiwin.c49
-rw-r--r--atari/gemtk/utils.c19
3 files changed, 82 insertions, 4 deletions
diff --git a/atari/gemtk/gemtk.h b/atari/gemtk/gemtk.h
index 3e406b5e3..88ad0ccdb 100644
--- a/atari/gemtk/gemtk.h
+++ b/atari/gemtk/gemtk.h
@@ -33,6 +33,17 @@
extern unsigned short _systype_v;
unsigned short _systype (void);
+/* GEMTK Utils API: */
+
+#define GEMTK_DBG_GRECT(s,g) \
+ printf("%s", s); \
+ printf("\tx0: %d, \n", (g)->g_x); \
+ printf("\ty0: %d, \n", (g)->g_y); \
+ printf("\tx1: %d, \n", (g)->g_x+(g)->g_w); \
+ printf("\ty1: %d, \n", (g)->g_y+(g)->g_h); \
+ printf("\tw: %d, \n", (g)->g_w); \
+ printf("\th: %d \n", (g)->g_h); \
+
/*
* Chech for GRECT intersection without modifiend the src rectangles
* return true when the GRECT's intersect, fals otherwise.
@@ -47,6 +58,9 @@ int gemtk_keybd2ascii( int keybd, int shift);
/** set VDI clip area by passing an GRECT */
void gemtk_clip_grect(VdiHdl vh, GRECT *rect);
+void gemtk_wind_get_str(short aes_handle, short mode, char *str, int len);
+
+
#ifndef POINT_WITHIN
# define POINT_WITHIN(_x,_y, r) ((_x >= r.g_x) && (_x <= r.g_x + r.g_w ) \
&& (_y >= r.g_y) && (_y <= r.g_y + r.g_h))
@@ -180,6 +194,8 @@ GUIWIN * gemtk_wm_add(short handle, uint32_t flags,
GUIWIN * gemtk_wm_find(short handle);
+void gemtk_wm_dump_window_info(GUIWIN *win);
+
short gemtk_wm_remove(GUIWIN *win);
GUIWIN * gemtk_wm_validate_ptr(GUIWIN *win);
@@ -192,6 +208,8 @@ short gemtk_wm_dispatch_event(EVMULT_IN *ev_in, EVMULT_OUT *ev_out, short msg[8]
void gemtk_wm_get_grect(GUIWIN *win, enum guwin_area_e mode, GRECT *dest);
+short gemtk_wm_get_toolbar_edit_obj(GUIWIN *win);
+
short gemtk_wm_get_handle(GUIWIN *win);
uint32_t gemtk_wm_get_state(GUIWIN *win);
diff --git a/atari/gemtk/guiwin.c b/atari/gemtk/guiwin.c
index 01f548305..4ad3561f2 100644
--- a/atari/gemtk/guiwin.c
+++ b/atari/gemtk/guiwin.c
@@ -701,13 +701,13 @@ GUIWIN * gemtk_wm_add(short handle, uint32_t flags, gemtk_wm_event_handler_f cb)
}
/**
-* Returns an GUIWIN* for AES handle, when that AES window is managed by guiwin
+* Returns an GUIWIN* for AES handle, when that AES window is managed by gemtk_wm
*/
GUIWIN *gemtk_wm_find(short handle)
{
GUIWIN *g;
DEBUG_PRINT(("guiwin search handle: %d\n", handle));
- for( g = winlist; g != NULL; g=g->next ) {
+ for (g = winlist; g != NULL; g=g->next) {
if(g->handle == handle) {
DEBUG_PRINT(("guiwin found handle: %p\n", g));
return(g);
@@ -716,6 +716,48 @@ GUIWIN *gemtk_wm_find(short handle)
return(NULL);
}
+void gemtk_wm_dump_window_info(GUIWIN *win)
+{
+
+
+
+ char title[255];
+ GRECT work_area;
+ GRECT curr_area;
+ GRECT gemtk_work_area;
+ GRECT gemtk_toolbar_area;
+ GRECT gemtk_free_area;
+ short handle;
+ struct gemtk_wm_scroll_info_s *slid;
+
+ handle = gemtk_wm_get_handle(win);
+
+ assert(handle);
+
+ gemtk_wind_get_str(handle, WF_NAME, title, 255);
+ wind_get_grect(handle, WF_WORKXYWH, &work_area);
+ wind_get_grect(handle, WF_CURRXYWH, &curr_area);
+ gemtk_wm_get_grect(win, GEMTK_WM_AREA_CONTENT, &gemtk_free_area);
+ gemtk_wm_get_grect(win, GEMTK_WM_AREA_WORK, &gemtk_work_area);
+ gemtk_wm_get_grect(win, GEMTK_WM_AREA_TOOLBAR, &gemtk_toolbar_area);
+ slid = gemtk_wm_get_scroll_info(win);
+
+ printf ("GEMTK Window: %p (AES handle: %d)\n", win, win->handle);
+ printf ("Title: %s\n", title);
+ GEMTK_DBG_GRECT ("WF_WORKXYWH: \n", &work_area)
+ GEMTK_DBG_GRECT ("WF_CURRXYWH: \n", &curr_area)
+ GEMTK_DBG_GRECT ("GEMTK_WM_AREA_CONTENT:\n", &gemtk_free_area)
+ GEMTK_DBG_GRECT ("GEMTK_WM_AREA_WORK:\n", &gemtk_work_area)
+ GEMTK_DBG_GRECT ("GEMTK_WM_AREA_TOOLBAR:\n", &gemtk_toolbar_area)
+ printf ("Slider X pos: %d\n", slid->x_pos);
+ printf ("Slider Y pos: %d\n", slid->y_pos);
+ printf ("Slider X units: %d\n", slid->x_unit_px);
+ printf ("Slider Y units: %d\n", slid->y_unit_px);
+
+
+#undef DBG_GRECT
+};
+
/**
* Check's if the pointer is managed by the guiwin API.
*/
@@ -1024,7 +1066,6 @@ uint32_t gemtk_wm_get_state(GUIWIN *win)
return(win->state);
}
-
/**
* Set and new event handler function.
*/
@@ -1066,7 +1107,7 @@ void gemtk_wm_set_toolbar_size(GUIWIN *win, uint16_t s)
win->toolbar_size = s;
}
-short getm_wm_get_toolbar_edit_obj(GUIWIN *win)
+short gemtk_wm_get_toolbar_edit_obj(GUIWIN *win)
{
return(win->toolbar_edit_obj);
}
diff --git a/atari/gemtk/utils.c b/atari/gemtk/utils.c
index f080e307c..20fe5d424 100644
--- a/atari/gemtk/utils.c
+++ b/atari/gemtk/utils.c
@@ -95,4 +95,23 @@ void gemtk_clip_grect(VdiHdl vh, GRECT *rect)
vs_clip_pxy(vh, pxy);
}
+void gemtk_wind_get_str(short aes_handle, short mode, char *str, int len)
+{
+ char tmp_str[255];
+
+ if(len>255) {
+ len = 255;
+ }
+
+ memset(str, 0, len);
+ return;
+ /*
+
+ wind_get(aes_handle, mode, (short)(((unsigned long)tmp_str)>>16),
+ (short)(((unsigned long)tmp_str) & 0xffff), 0, 0);
+
+ strncpy(str, tmp_str, len);
+ */
+}
+