diff options
author | Ole Loots <ole@monochrom.net> | 2013-09-21 05:29:04 +0200 |
---|---|---|
committer | Ole Loots <ole@monochrom.net> | 2013-10-06 01:24:17 +0200 |
commit | 49f4fa0d787c867ed24ac49897feb347939d4ef3 (patch) | |
tree | 3400ff2f7072abd6f05863aed7157f7084e51cb9 /atari/gemtk | |
parent | 074b07253551fb6aeb1d71ee4dfbf9b838cbf663 (diff) | |
download | netsurf-49f4fa0d787c867ed24ac49897feb347939d4ef3.tar.gz netsurf-49f4fa0d787c867ed24ac49897feb347939d4ef3.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.h | 18 | ||||
-rw-r--r-- | atari/gemtk/guiwin.c | 49 | ||||
-rw-r--r-- | atari/gemtk/utils.c | 19 |
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); + */ +} + |