diff options
Diffstat (limited to 'source/blender/windowmanager/WM_api.h')
-rw-r--r-- | source/blender/windowmanager/WM_api.h | 100 |
1 files changed, 61 insertions, 39 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index 8d885bf6d6f..2fd80d17bb7 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -56,11 +56,13 @@ struct wmOperatorType; struct wmOperator; struct rcti; struct PointerRNA; +struct PropertyRNA; struct EnumPropertyItem; struct MenuType; struct wmDropBox; struct wmDrag; struct ImBuf; +struct ImageFormatData; typedef struct wmJob wmJob; @@ -68,6 +70,7 @@ typedef struct wmJob wmJob; void WM_init_state_size_set (int stax, int stay, int sizx, int sizy); void WM_init_state_fullscreen_set(void); void WM_init_state_normal_set(void); +void WM_init_native_pixels(int do_it); void WM_init (struct bContext *C, int argc, const char **argv); void WM_exit_ext (struct bContext *C, const short do_python); @@ -92,21 +95,23 @@ void WM_check (struct bContext *C); struct wmWindow *WM_window_open (struct bContext *C, struct rcti *rect); +int WM_window_pixels_x (struct wmWindow *win); +int WM_window_pixels_y (struct wmWindow *win); + /* defines for 'type' WM_window_open_temp */ #define WM_WINDOW_RENDER 0 #define WM_WINDOW_USERPREFS 1 #define WM_WINDOW_FILESEL 2 void WM_window_open_temp (struct bContext *C, struct rcti *position, int type); + + /* returns true if draw method is triple buffer */ +int WM_is_draw_triple(struct wmWindow *win); /* files */ -int WM_homefile_read_exec(struct bContext *C, struct wmOperator *op); -int WM_homefile_read(struct bContext *C, struct ReportList *reports, short from_memory); -int WM_homefile_write_exec(struct bContext *C, struct wmOperator *op); void WM_file_read(struct bContext *C, const char *filepath, struct ReportList *reports); -int WM_file_write(struct bContext *C, const char *target, int fileflags, struct ReportList *reports); void WM_autosave_init(struct wmWindowManager *wm); /* mouse cursors */ @@ -126,6 +131,7 @@ void *WM_paint_cursor_activate(struct wmWindowManager *wm, void WM_paint_cursor_end(struct wmWindowManager *wm, void *handle); void WM_cursor_warp (struct wmWindow *win, int x, int y); +float WM_cursor_pressure (const struct wmWindow *win); /* event map */ int WM_userdef_event_map(int kmitype); @@ -140,12 +146,15 @@ struct wmEventHandler *WM_event_add_keymap_handler_priority(ListBase *handlers, void WM_event_remove_keymap_handler(ListBase *handlers, wmKeyMap *keymap); -struct wmEventHandler *WM_event_add_ui_handler(const struct bContext *C, ListBase *handlers, - int (*func)(struct bContext *C, struct wmEvent *event, void *userdata), - void (*remove)(struct bContext *C, void *userdata), void *userdata); +struct wmEventHandler *WM_event_add_ui_handler( + const struct bContext *C, ListBase *handlers, + int (*func)(struct bContext *C, const struct wmEvent *event, void *userdata), + void (*remove)(struct bContext *C, void *userdata), void *userdata); + void WM_event_remove_ui_handler(ListBase *handlers, - int (*func)(struct bContext *C, struct wmEvent *event, void *userdata), - void (*remove)(struct bContext *C, void *userdata), void *userdata, int postpone); + int (*func)(struct bContext *C, const struct wmEvent *event, void *userdata), + void (*remove)(struct bContext *C, void *userdata), + void *userdata, int postpone); void WM_event_remove_area_handler(struct ListBase *handlers, void *area); struct wmEventHandler *WM_event_add_modal_handler(struct bContext *C, struct wmOperator *op); @@ -156,13 +165,13 @@ struct wmEventHandler *WM_event_add_dropbox_handler(ListBase *handlers, ListBase /* mouse */ void WM_event_add_mousemove(struct bContext *C); void WM_event_add_mousemove_window(struct wmWindow *window); -int WM_modal_tweak_exit(struct wmEvent *evt, int tweak_event); +int WM_modal_tweak_exit(const struct wmEvent *event, int tweak_event); /* notifiers */ void WM_event_add_notifier(const struct bContext *C, unsigned int type, void *reference); void WM_main_add_notifier(unsigned int type, void *reference); -void wm_event_add (struct wmWindow *win, struct wmEvent *event_to_add); /* XXX only for warning */ +void wm_event_add(struct wmWindow *win, const struct wmEvent *event_to_add); /* at maximum, every timestep seconds it triggers event_type events */ struct wmTimer *WM_event_add_timer(struct wmWindowManager *wm, struct wmWindow *win, int event_type, double timestep); @@ -171,19 +180,19 @@ void WM_event_timer_sleep(struct wmWindowManager *wm, struct wmWindow *win, str /* operator api, default callbacks */ /* invoke callback, uses enum property named "type" */ -int WM_operator_view3d_distance_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_menu_invoke (struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_enum_search_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event); +int WM_operator_view3d_distance_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_menu_invoke (struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_enum_search_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); /* invoke callback, confirm menu + exec */ -int WM_operator_confirm (struct bContext *C, struct wmOperator *op, struct wmEvent *event); +int WM_operator_confirm (struct bContext *C, struct wmOperator *op, const struct wmEvent *event); /* invoke callback, file selector "filepath" unset + exec */ -int WM_operator_filesel (struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_operator_filesel_ensure_ext_imtype(wmOperator *op, const char imtype); +int WM_operator_filesel (struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_operator_filesel_ensure_ext_imtype(wmOperator *op, const struct ImageFormatData *im_format); /* poll callback, context checks */ int WM_operator_winactive (struct bContext *C); /* invoke callback, exec + redo popup */ -int WM_operator_props_popup_call(struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_operator_props_popup (struct bContext *C, struct wmOperator *op, struct wmEvent *event); +int WM_operator_props_popup_call(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_operator_props_popup (struct bContext *C, struct wmOperator *op, const struct wmEvent *event); int WM_operator_props_dialog_popup (struct bContext *C, struct wmOperator *op, int width, int height); int WM_operator_redo_popup (struct bContext *C, struct wmOperator *op); int WM_operator_ui_popup (struct bContext *C, struct wmOperator *op, int width, int height); @@ -193,12 +202,13 @@ int WM_operator_confirm_message(struct bContext *C, struct wmOperator *op, con /* operator api */ void WM_operator_free (struct wmOperator *op); void WM_operator_stack_clear(struct wmWindowManager *wm); +void WM_operator_handlers_clear(wmWindowManager *wm, struct wmOperatorType *ot); struct wmOperatorType *WM_operatortype_find(const char *idnamem, int quiet); struct GHashIterator *WM_operatortype_iter(void); -void WM_operatortype_append (void (*opfunc)(struct wmOperatorType*)); -void WM_operatortype_append_ptr (void (*opfunc)(struct wmOperatorType*, void *), void *userdata); -void WM_operatortype_append_macro_ptr (void (*opfunc)(struct wmOperatorType*, void *), void *userdata); +void WM_operatortype_append(void (*opfunc)(struct wmOperatorType *)); +void WM_operatortype_append_ptr(void (*opfunc)(struct wmOperatorType *, void *), void *userdata); +void WM_operatortype_append_macro_ptr(void (*opfunc)(struct wmOperatorType *, void *), void *userdata); int WM_operatortype_remove(const char *idname); struct wmOperatorType *WM_operatortype_append_macro(const char *idname, const char *name, const char *description, int flag); @@ -224,9 +234,9 @@ void WM_operator_properties_free(struct PointerRNA *ptr); void WM_operator_properties_filesel(struct wmOperatorType *ot, int filter, short type, short action, short flag, short display); void WM_operator_properties_border(struct wmOperatorType *ot); void WM_operator_properties_border_to_rcti(struct wmOperator *op, struct rcti *rect); -void WM_operator_properties_gesture_border(struct wmOperatorType *ot, int extend); +void WM_operator_properties_gesture_border(struct wmOperatorType *ot, bool extend); void WM_operator_properties_mouse_select(struct wmOperatorType *ot); -void WM_operator_properties_gesture_straightline(struct wmOperatorType *ot, int cursor); +void WM_operator_properties_gesture_straightline(struct wmOperatorType *ot, bool cursor); void WM_operator_properties_select_all(struct wmOperatorType *ot); int WM_operator_check_ui_enabled(const struct bContext *C, const char *idname); @@ -253,9 +263,17 @@ int WM_operator_last_properties_store(struct wmOperator *op); /* operator as a python command (resultuing string must be freed) */ char *WM_operator_pystring(struct bContext *C, struct wmOperatorType *ot, struct PointerRNA *opptr, int all_args); +char *WM_prop_pystring_assign(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int index); void WM_operator_bl_idname(char *to, const char *from); void WM_operator_py_idname(char *to, const char *from); +/* *************** uilist types ******************** */ +void WM_uilisttype_init(void); +struct uiListType *WM_uilisttype_find(const char *idname, int quiet); +int WM_uilisttype_add(struct uiListType *ult); +void WM_uilisttype_freelink(struct uiListType *ult); +void WM_uilisttype_free(void); + /* *************** menu types ******************** */ void WM_menutype_init(void); struct MenuType *WM_menutype_find(const char *idname, int quiet); @@ -264,41 +282,43 @@ void WM_menutype_freelink(struct MenuType *mt); void WM_menutype_free(void); /* default operator callbacks for border/circle/lasso */ -int WM_border_select_invoke (struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_border_select_modal (struct bContext *C, struct wmOperator *op, struct wmEvent *event); +int WM_border_select_invoke (struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_border_select_modal (struct bContext *C, struct wmOperator *op, const struct wmEvent *event); int WM_border_select_cancel(struct bContext *C, struct wmOperator *op); -int WM_gesture_circle_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_gesture_circle_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event); +int WM_gesture_circle_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_gesture_circle_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); int WM_gesture_circle_cancel(struct bContext *C, struct wmOperator *op); -int WM_gesture_lines_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_gesture_lines_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event); +int WM_gesture_lines_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_gesture_lines_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); int WM_gesture_lines_cancel(struct bContext *C, struct wmOperator *op); -int WM_gesture_lasso_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_gesture_lasso_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event); +int WM_gesture_lasso_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_gesture_lasso_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); int WM_gesture_lasso_cancel(struct bContext *C, struct wmOperator *op); const int (*WM_gesture_lasso_path_to_array(struct bContext *C, struct wmOperator *op, int *mcords_tot))[2]; -int WM_gesture_straightline_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event); -int WM_gesture_straightline_modal(struct bContext *C, struct wmOperator *op, struct wmEvent *event); +int WM_gesture_straightline_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); +int WM_gesture_straightline_modal(struct bContext *C, struct wmOperator *op, const struct wmEvent *event); int WM_gesture_straightline_cancel(struct bContext *C, struct wmOperator *op); /* Gesture manager API */ -struct wmGesture *WM_gesture_new(struct bContext *C, struct wmEvent *event, int type); +struct wmGesture *WM_gesture_new(struct bContext *C, const struct wmEvent *event, int type); void WM_gesture_end(struct bContext *C, struct wmGesture *gesture); void WM_gestures_remove(struct bContext *C); /* fileselecting support */ void WM_event_add_fileselect(struct bContext *C, struct wmOperator *op); -void WM_event_fileselect_event(struct bContext *C, void *ophandle, int eventval); +void WM_event_fileselect_event(struct wmWindowManager *wm, void *ophandle, int eventval); #ifndef NDEBUG -void WM_event_print(struct wmEvent *event); +void WM_event_print(const struct wmEvent *event); #endif +void WM_operator_region_active_win_set(struct bContext *C); + /* drag and drop */ struct wmDrag *WM_event_start_drag(struct bContext *C, int icon, int type, void *poin, double value); void WM_event_drag_image(struct wmDrag *, struct ImBuf *, float scale, int sx, int sy); -struct wmDropBox *WM_dropbox_add(ListBase *lb, const char *idname, int (*poll)(struct bContext *, struct wmDrag *, struct wmEvent *event), - void (*copy)(struct wmDrag *, struct wmDropBox *)); +struct wmDropBox *WM_dropbox_add(ListBase *lb, const char *idname, int (*poll)(struct bContext *, struct wmDrag *, const struct wmEvent *event), + void (*copy)(struct wmDrag *, struct wmDropBox *)); ListBase *WM_dropboxmap_find(const char *idname, int spaceid, int regionid); /* Set a subwindow active in pixelspace view, with optional scissor subset */ @@ -336,6 +356,7 @@ enum { WM_JOB_TYPE_CLIP_BUILD_PROXY, WM_JOB_TYPE_CLIP_TRACK_MARKERS, WM_JOB_TYPE_CLIP_SOLVE_CAMERA, + WM_JOB_TYPE_CLIP_PREFETCH, WM_JOB_TYPE_SEQ_BUILD_PROXY, /* add as needed, screencast, seq proxy build * if having hard coded values is a problem */ @@ -365,6 +386,7 @@ void WM_jobs_kill_all_except(struct wmWindowManager *wm, void *owner); void WM_jobs_kill_type(struct wmWindowManager *wm, int job_type); int WM_jobs_has_running(struct wmWindowManager *wm); +int WM_jobs_has_running_except(struct wmWindowManager *wm, int job_type); /* clipboard */ char *WM_clipboard_text_get(int selection); |