13#include "RNA_prototypes.hh"
47 format,
"texCoord", blender::gpu::VertAttrType::SFLOAT_32_32);
54 int soffx = win_size[0] / 2;
80 immAttr2f(texcoord, 1.0f + halfx, 1.0f + halfy);
95 format,
"texCoord", blender::gpu::VertAttrType::SFLOAT_32_32);
104 soffy = win_size[1] * 0.5f;
121 immAttr2f(texcoord, 1.0f + halfx, halfy);
124 immAttr2f(texcoord, 1.0f + halfx, 1.0f + halfy);
127 immAttr2f(texcoord, halfx, 1.0f + halfy);
175 if (r_mouse_xy[0] > half_x) {
176 r_mouse_xy[0] -= half_x;
183 if (r_mouse_xy[1] > half_y) {
184 r_mouse_xy[1] -= half_y;
289 "Failed to create a window without quad-buffer support, you may experience flickering");
299 op->
reports,
RPT_ERROR,
"Failed to switch to Time Sequential mode when in fullscreen");
317 "Failed to create a window compatible with the time sequential display method");
323 if (!is_fullscreen) {
369 col->prop(&stereo3d_format_ptr,
"display_mode",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
373 col->prop(&stereo3d_format_ptr,
"anaglyph_type",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
377 col->prop(&stereo3d_format_ptr,
"interlace_type",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
378 col->prop(&stereo3d_format_ptr,
"use_interlace_swap",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
383 &stereo3d_format_ptr,
"use_sidebyside_crosseyed",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
wmWindow * CTX_wm_window(const bContext *C)
void CTX_wm_window_set(bContext *C, wmWindow *win)
wmWindowManager * CTX_wm_manager(const bContext *C)
void BKE_report(ReportList *reports, eReportType type, const char *message)
@ S3D_SIDEBYSIDE_CROSSEYED
bool ED_screen_stereo3d_required(const bScreen *screen, const Scene *scene)
GHOST C-API function and type declarations.
GHOST_TWindowState GHOST_GetWindowState(GHOST_WindowHandle windowhandle)
@ GHOST_kWindowStateFullScreen
bool GPU_stereo_quadbuffer_support()
Read Guarded memory(de)allocation.
void * MEM_callocN(size_t len, const char *str)
void MEM_freeN(void *vmemh)
VecBase< int32_t, 2 > int2
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)
Stereo3dFormat stereo3d_format
void use_property_decorate_set(bool is_sep)
uiLayout & column(bool align)
void use_property_split_set(bool value)
struct ReportList * reports
struct Stereo3dFormat * stereo3d_format
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
wmOperatorStatus WM_operator_props_dialog_popup(bContext *C, wmOperator *op, int width, std::optional< std::string > title, std::optional< std::string > confirm_text, const bool cancel_default, std::optional< std::string > message)
void wm_stereo3d_set_cancel(bContext *, wmOperator *op)
void wm_stereo3d_draw_sidebyside(wmWindow *win, int view)
bool WM_stereo3d_enabled(wmWindow *win, bool skip_stereo3d_check)
wmOperatorStatus wm_stereo3d_set_invoke(bContext *C, wmOperator *op, const wmEvent *)
void wm_stereo3d_draw_topbottom(wmWindow *win, int view)
wmOperatorStatus wm_stereo3d_set_exec(bContext *C, wmOperator *op)
static bool wm_stereo3d_is_fullscreen_required(eStereoDisplayMode stereo_display)
bool wm_stereo3d_set_check(bContext *, wmOperator *)
void wm_stereo3d_set_draw(bContext *, wmOperator *op)
static void wm_stereo3d_set_init(bContext *C, wmOperator *op)
void wm_stereo3d_mouse_offset_apply(wmWindow *win, int r_mouse_xy[2])
static bool wm_stereo3d_set_properties(bContext *, wmOperator *op)
blender::int2 WM_window_native_pixel_size(const wmWindow *win)
bool WM_window_is_fullscreen(const wmWindow *win)
void wm_window_close(bContext *C, wmWindowManager *wm, wmWindow *win)
int WM_window_native_pixel_y(const wmWindow *win)
int WM_window_native_pixel_x(const wmWindow *win)
wmWindow * wm_window_copy_test(bContext *C, wmWindow *win_src, const bool duplicate_layout, const bool child)
Scene * WM_window_get_active_scene(const wmWindow *win)
bScreen * WM_window_get_active_screen(const wmWindow *win)