void nsbeos_window_resize_event(BView *view, gui_window *g, BMessage *event) { CALLED(); int32 width; int32 height; // drop this event if we have at least 2 resize pending #if 1 if (atomic_add(&g->pending_resizes, -1) > 1) return; #endif if (event->FindInt32("width", &width) < B_OK) width = -1; if (event->FindInt32("height", &height) < B_OK) height = -1; width++; height++; #if 0 hlcache_handle *content; content = g->bw->current_content; /* reformat or change extent if necessary */ if ((content) && (g->old_width != width || g->old_height != height)) { /* Ctrl-resize of a top-level window scales the content size */ #if 0 if ((g->old_width > 0) && (g->old_width != width) && (!g->bw->parent) && (ro_gui_ctrl_pressed())) new_scale = (g->bw->scale * width) / g->old_width; #endif g->bw->reformat_pending = true; browser_reformat_pending = true; } if (g->update_extent || g->old_width != width || g->old_height != height) { g->old_width = width; g->old_height = height; g->update_extent = false; gui_window_set_extent(g, width, height); } #endif g->bw->reformat_pending = true; browser_reformat_pending = true; return; }
static bool ro_treeview_keypress(wimp_key *key) { ro_treeview *tv; uint32_t c; tv = (ro_treeview *) ro_gui_wimp_event_get_user_data(key->w); if (tv == NULL) { LOG(("NULL treeview block for window: 0x%x", (unsigned int) key->w)); return false; } c = (uint32_t) key->c; if ((unsigned)c < 0x20 || (0x7f <= c && c <= 0x9f) || (c & IS_WIMP_KEY)) { /* Munge control keys into unused control chars */ /* We can't map onto 1->26 (reserved for ctrl+<qwerty> That leaves 27->31 and 128->159 */ switch (c & ~IS_WIMP_KEY) { case wimp_KEY_TAB: c = 9; break; case wimp_KEY_SHIFT | wimp_KEY_TAB: c = 11; break; /* cursor movement keys */ case wimp_KEY_HOME: case wimp_KEY_CONTROL | wimp_KEY_LEFT: c = KEY_LINE_START; break; case wimp_KEY_END: if (os_version >= RISCOS5) c = KEY_LINE_END; else c = KEY_DELETE_RIGHT; break; case wimp_KEY_CONTROL | wimp_KEY_RIGHT: c = KEY_LINE_END; break; case wimp_KEY_CONTROL | wimp_KEY_UP: c = KEY_TEXT_START; break; case wimp_KEY_CONTROL | wimp_KEY_DOWN: c = KEY_TEXT_END; break; case wimp_KEY_SHIFT | wimp_KEY_LEFT: c = KEY_WORD_LEFT ; break; case wimp_KEY_SHIFT | wimp_KEY_RIGHT: c = KEY_WORD_RIGHT; break; case wimp_KEY_SHIFT | wimp_KEY_UP: c = KEY_PAGE_UP; break; case wimp_KEY_SHIFT | wimp_KEY_DOWN: c = KEY_PAGE_DOWN; break; case wimp_KEY_LEFT: c = KEY_LEFT; break; case wimp_KEY_RIGHT: c = KEY_RIGHT; break; case wimp_KEY_UP: c = KEY_UP; break; case wimp_KEY_DOWN: c = KEY_DOWN; break; /* editing */ case wimp_KEY_CONTROL | wimp_KEY_END: c = KEY_DELETE_LINE_END; break; case wimp_KEY_DELETE: if (ro_gui_ctrl_pressed()) c = KEY_DELETE_LINE_START; else if (os_version < RISCOS5) c = KEY_DELETE_LEFT; break; default: break; } } if (!(c & IS_WIMP_KEY)) { if (tree_keypress(tv->tree, c)) { if (tv->callbacks && tv->callbacks->toolbar_button_update != NULL) tv->callbacks->toolbar_button_update(); return true; } } return false; }