Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_clip/clip_ops.c
| Context not available. | |||||
| float location[2]; | float location[2]; | ||||
| wmTimer *timer; | wmTimer *timer; | ||||
| double timer_lastdraw; | double timer_lastdraw; | ||||
| ARegion *ar; | |||||
| } ViewZoomData; | } ViewZoomData; | ||||
| static void view_zoom_init(bContext *C, wmOperator *op, const wmEvent *event) | static void view_zoom_init(bContext *C, wmOperator *op, const wmEvent *event) | ||||
| Context not available. | |||||
| vpd->y = event->y; | vpd->y = event->y; | ||||
| vpd->zoom = sc->zoom; | vpd->zoom = sc->zoom; | ||||
| vpd->event_type = event->type; | vpd->event_type = event->type; | ||||
| vpd->ar = ar; | |||||
| ED_clip_mouse_pos(sc, ar, event->mval, vpd->location); | ED_clip_mouse_pos(sc, ar, event->mval, vpd->location); | ||||
| Context not available. | |||||
| vpd->timer_lastdraw = time; | vpd->timer_lastdraw = time; | ||||
| factor = (sclip->zoom * zfac) / vpd->zoom; | factor = (sclip->zoom * zfac) / vpd->zoom; | ||||
| } | } | ||||
| else { | else if (U.viewzoom == USER_ZOOM_SCALE) { | ||||
| float delta = event->x - vpd->x + event->y - vpd->y; | float delta = event->x - vpd->x + event->y - vpd->y; | ||||
| if (U.uiflag & USER_ZOOM_INVERT) { | if (U.uiflag & USER_ZOOM_INVERT) { | ||||
| Context not available. | |||||
| factor = 1.0f + delta / 300.0f; | factor = 1.0f + delta / 300.0f; | ||||
| } | } | ||||
| else { /* USER_ZOOM_DOLLY */ | |||||
| float len_new = 5; | |||||
| float len_old = 5; | |||||
| rcti *winrct = &vpd->ar->winrct; | |||||
| if (U.uiflag & USER_ZOOM_HORIZ) { | |||||
| len_new += (winrct->xmax - event->x); | |||||
| len_old += (winrct->xmax - vpd->x); | |||||
| } | |||||
| else { | |||||
| len_new += (winrct->ymax - event->y); | |||||
| len_old += (winrct->ymax - vpd->y); | |||||
| } | |||||
| if (U.uiflag & USER_ZOOM_INVERT) { | |||||
| SWAP(float, len_new, len_old); | |||||
| } | |||||
| factor = 2.0f * ((len_old / max_ff(len_new, 1.0f)) - 1.0f) + 1.0f; | |||||
| } | |||||
| RNA_float_set(op->ptr, "factor", factor); | RNA_float_set(op->ptr, "factor", factor); | ||||
| sclip_zoom_set(C, vpd->zoom * factor, vpd->location); | sclip_zoom_set(C, vpd->zoom * factor, vpd->location); | ||||
| Context not available. | |||||