void Camera::render() { glutSetWindow(viewport->getId()); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); if(!focused) refocus(); if(!located) relocate(); if(target != NULL) target->draw(); drawFocusSphere(); glutSwapBuffers(); }
void refocus_wrapped(GtkWidget* display_win_gtk, gchar* term_win_str) { g_return_if_fail(display_win_gtk != NULL); g_return_if_fail(term_win_str != NULL); g_return_if_fail(display_win_gtk->window != NULL); Display* Xdisplay; Window display_win, term_win; Xdisplay = GDK_DRAWABLE_XDISPLAY(display_win_gtk->window); display_win = GDK_WINDOW_XID(display_win_gtk->window); term_win = str_to_win(term_win_str); if (display_win == 0 || term_win == 0) return; refocus(Xdisplay, display_win, term_win); static int i = 0; i++; g_warning("refocus %d", i); }
void Widget::focus(Widget *parent) { parent_focus = parent; refocus(); }