JNIEXPORT void JNICALL Java_org_gnome_gtk_GtkAdjustment_gtk_1adjustment_1clamp_1page ( JNIEnv* env, jclass cls, jlong _self, jdouble _lower, jdouble _upper ) { GtkAdjustment* self; gdouble lower; gdouble upper; // convert parameter self self = (GtkAdjustment*) _self; // convert parameter lower lower = (gdouble) _lower; // convert parameter upper upper = (gdouble) _upper; // call function gtk_adjustment_clamp_page(self, lower, upper); // cleanup parameter self // cleanup parameter lower // cleanup parameter upper }
bool SidebarPreviewBase::scrollToPreview(SidebarPreviewBase* sidebar) { XOJ_CHECK_TYPE_OBJ(sidebar, SidebarPreviewBase); if (!sidebar->enabled) { return false; } MainWindow* win = sidebar->control->getWindow(); if (win == NULL) { return false; } GtkWidget* w = win->get("sidebar"); if (!gtk_widget_get_visible(w)) { return false; } if (sidebar->selectedEntry != size_t_npos && sidebar->selectedEntry < sidebar->previews.size()) { SidebarPreviewBaseEntry* p = sidebar->previews[sidebar->selectedEntry]; // scroll to preview GtkAdjustment* hadj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(sidebar->scrollPreview)); GtkAdjustment* vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sidebar->scrollPreview)); GtkWidget* widget = p->getWidget(); GtkAllocation allocation; gtk_widget_get_allocation(widget, &allocation); int x = allocation.x; int y = allocation.y; if (x == -1) { g_idle_add((GSourceFunc) scrollToPreview, sidebar); return false; } gtk_adjustment_clamp_page(vadj, y, y + allocation.height); gtk_adjustment_clamp_page(hadj, x, x + allocation.width); } return false; }
int clip_GTK_ADJUSTMENTCLAMPPAGE(ClipMachine * cm) { C_widget *cadj = _fetch_cw_arg(cm); gfloat lower = _clip_parnd(cm,2); gfloat upper = _clip_parnd(cm,3); CHECKCWID(cadj,GTK_IS_ADJUSTMENT); CHECKARG(2,NUMERIC_t); CHECKARG(3,NUMERIC_t); gtk_adjustment_clamp_page(GTK_ADJUSTMENT(cadj->widget),lower,upper); return 0; err: return 1; }
/* Make sure selected options stay visible when navigating with the keyboard */ static gboolean option_focused_cb (GtkWidget * widget, GdkEventFocus * event, gpointer data) { GtkScrolledWindow *win = GTK_SCROLLED_WINDOW (data); GtkAllocation alloc; GtkAdjustment *adj; gtk_widget_get_allocation (widget, &alloc); adj = gtk_scrolled_window_get_vadjustment (win); gtk_adjustment_clamp_page (adj, alloc.y, alloc.y + alloc.height); return FALSE; }
static gint luaH_document_highlight_match(lua_State *L) { document_data_t *d = luaH_checkdocument_data(L, 1); luaH_checktable(L, 2); // TODO: handle this without __data and remove __data again lua_pushstring(L, "page"); lua_gettable(L, -2); lua_pushstring(L, "__data"); lua_rawget(L, -2); page_info_t *p = lua_touserdata(L, -1); lua_pop(L, 2); lua_pushstring(L, "match"); lua_gettable(L, -2); GList *match = lua_touserdata(L, -1); lua_pop(L, 1); if (!match || !p) luaL_typerror(L, 2, "search match"); d->current_match = match; /* scroll to match */ PopplerRectangle *r = (PopplerRectangle*) match->data; cairo_rectangle_t *pc = page_coordinates_from_pdf_coordinates(r, p); cairo_rectangle_t *dc = document_coordinates_from_page_coordinates(pc, p); gint clamp_margin = 10; gtk_adjustment_clamp_page(d->hadjust, dc->x - clamp_margin, dc->x + dc->width + clamp_margin); gtk_adjustment_clamp_page(d->vadjust, dc->y - clamp_margin, dc->y + dc->height + clamp_margin); g_free(dc); g_free(pc); document_render(d); return 0; }
static VALUE rg_clamp_page(VALUE self, VALUE lower, VALUE upper) { gtk_adjustment_clamp_page(_SELF(self), NUM2DBL(lower), NUM2DBL(upper)); return self; }
void Scrollbar::ensureAreaIsVisible(int lower, int upper) { XOJ_CHECK_TYPE(Scrollbar); gtk_adjustment_clamp_page(this->adj, lower, upper); }