Blender V4.3
transform_gizmo_2d.cc File Reference
#include "MEM_guardedalloc.h"
#include "BLI_math_matrix.h"
#include "BLI_math_rotation.h"
#include "BLI_math_vector.h"
#include "BLI_math_vector_types.hh"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "DNA_sequence_types.h"
#include "DNA_space_types.h"
#include "DNA_view3d_types.h"
#include "BKE_context.hh"
#include "BKE_global.hh"
#include "BKE_layer.hh"
#include "RNA_access.hh"
#include "UI_resources.hh"
#include "UI_view2d.hh"
#include "WM_api.hh"
#include "WM_message.hh"
#include "WM_types.hh"
#include "ED_gizmo_library.hh"
#include "ED_gizmo_utils.hh"
#include "ED_image.hh"
#include "ED_screen.hh"
#include "ED_uvedit.hh"
#include "SEQ_channels.hh"
#include "SEQ_iterator.hh"
#include "SEQ_sequencer.hh"
#include "SEQ_transform.hh"
#include "transform.hh"
#include "transform_gizmo.hh"

Go to the source code of this file.

Classes

struct  GizmoGroup2D
 
struct  GizmoGroup_Resize2D
 
struct  GizmoGroup_Rotate2D
 

Functions

Shared Callback's
static bool gizmo2d_generic_poll (const bContext *C, wmGizmoGroupType *gzgt)
 
static void gizmo2d_pivot_point_message_subscribe (wmGizmoGroup *gzgroup, wmMsgBus *mbus, bScreen *screen, ScrArea *area, ARegion *region)
 
Scale Handles

Defines public functions, not the gizmo itself:

static GizmoGroup_Resize2Dgizmogroup2d_resize_init (wmGizmoGroup *gzgroup)
 
static void gizmo2d_resize_refresh (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo2d_resize_draw_prepare (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo2d_resize_setup (const bContext *, wmGizmoGroup *gzgroup)
 
static void gizmo2d_resize_invoke_prepare (const bContext *C, wmGizmoGroup *, wmGizmo *gz, const wmEvent *)
 
static void gizmo2d_resize_message_subscribe (const bContext *C, wmGizmoGroup *gzgroup, wmMsgBus *mbus)
 
void ED_widgetgroup_gizmo2d_resize_callbacks_set (wmGizmoGroupType *gzgt)
 
Rotate Handles

Defines public functions, not the gizmo itself:

  • #ED_widgetgroup_gizmo2d_rotate_setup
static GizmoGroup_Rotate2Dgizmogroup2d_rotate_init (wmGizmoGroup *gzgroup)
 
static void gizmo2d_rotate_refresh (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo2d_rotate_draw_prepare (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo2d_rotate_setup (const bContext *, wmGizmoGroup *gzgroup)
 
static void gizmo2d_rotate_message_subscribe (const bContext *C, wmGizmoGroup *gzgroup, wmMsgBus *mbus)
 
void ED_widgetgroup_gizmo2d_rotate_callbacks_set (wmGizmoGroupType *gzgt)
 

Arrow / Cage Gizmo Group

Defines public functions, not the gizmo itself:

enum  { MAN2D_AXIS_TRANS_X = 0 , MAN2D_AXIS_TRANS_Y , MAN2D_AXIS_LAST }
 
static void gizmo2d_get_axis_color (const int axis_idx, float *r_col, float *r_col_hi)
 
static GizmoGroup2Dgizmogroup2d_init (wmGizmoGroup *gzgroup)
 
static bool gizmo2d_calc_bounds (const bContext *C, float *r_center, float *r_min, float *r_max)
 
static int gizmo2d_calc_transform_orientation (const bContext *C)
 
static float gizmo2d_calc_rotation (const bContext *C)
 
static bool seq_get_strip_pivot_median (const Scene *scene, float r_pivot[2])
 
static bool gizmo2d_calc_transform_pivot (const bContext *C, float r_pivot[2])
 
BLI_INLINE void gizmo2d_origin_to_region (ARegion *region, float *r_origin)
 
static int gizmo2d_modal (bContext *C, wmGizmo *widget, const wmEvent *, eWM_GizmoFlagTweak)
 
static void gizmo2d_xform_setup (const bContext *, wmGizmoGroup *gzgroup)
 
static void rotate_around_center_v2 (float point[2], const float center[2], const float angle)
 
static void gizmo2d_xform_refresh (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo2d_xform_draw_prepare (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo2d_xform_invoke_prepare (const bContext *C, wmGizmoGroup *gzgroup, wmGizmo *, const wmEvent *)
 
void ED_widgetgroup_gizmo2d_xform_callbacks_set (wmGizmoGroupType *gzgt)
 
static void gizmo2d_xform_setup_no_cage (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo2d_xform_no_cage_message_subscribe (const bContext *C, wmGizmoGroup *gzgroup, wmMsgBus *mbus)
 
void ED_widgetgroup_gizmo2d_xform_no_cage_callbacks_set (wmGizmoGroupType *gzgt)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAN2D_AXIS_TRANS_X 
MAN2D_AXIS_TRANS_Y 
MAN2D_AXIS_LAST 

Definition at line 154 of file transform_gizmo_2d.cc.

Function Documentation

◆ ED_widgetgroup_gizmo2d_resize_callbacks_set()

◆ ED_widgetgroup_gizmo2d_rotate_callbacks_set()

◆ ED_widgetgroup_gizmo2d_xform_callbacks_set()

◆ ED_widgetgroup_gizmo2d_xform_no_cage_callbacks_set()

◆ gizmo2d_calc_bounds()

◆ gizmo2d_calc_rotation()

◆ gizmo2d_calc_transform_orientation()

◆ gizmo2d_calc_transform_pivot()

◆ gizmo2d_generic_poll()

◆ gizmo2d_get_axis_color()

static void gizmo2d_get_axis_color ( const int axis_idx,
float * r_col,
float * r_col_hi )
static

◆ gizmo2d_modal()

◆ gizmo2d_origin_to_region()

BLI_INLINE void gizmo2d_origin_to_region ( ARegion * region,
float * r_origin )

Convert origin (or any other point) from view to region space.

Definition at line 410 of file transform_gizmo_2d.cc.

References UI_view2d_view_to_region_fl().

Referenced by gizmo2d_modal(), gizmo2d_resize_draw_prepare(), gizmo2d_rotate_draw_prepare(), and gizmo2d_xform_draw_prepare().

◆ gizmo2d_pivot_point_message_subscribe()

◆ gizmo2d_resize_draw_prepare()

◆ gizmo2d_resize_invoke_prepare()

static void gizmo2d_resize_invoke_prepare ( const bContext * C,
wmGizmoGroup * ,
wmGizmo * gz,
const wmEvent *  )
static

◆ gizmo2d_resize_message_subscribe()

static void gizmo2d_resize_message_subscribe ( const bContext * C,
wmGizmoGroup * gzgroup,
wmMsgBus * mbus )
static

◆ gizmo2d_resize_refresh()

◆ gizmo2d_resize_setup()

◆ gizmo2d_rotate_draw_prepare()

◆ gizmo2d_rotate_message_subscribe()

static void gizmo2d_rotate_message_subscribe ( const bContext * C,
wmGizmoGroup * gzgroup,
wmMsgBus * mbus )
static

◆ gizmo2d_rotate_refresh()

◆ gizmo2d_rotate_setup()

◆ gizmo2d_xform_draw_prepare()

◆ gizmo2d_xform_invoke_prepare()

◆ gizmo2d_xform_no_cage_message_subscribe()

static void gizmo2d_xform_no_cage_message_subscribe ( const bContext * C,
wmGizmoGroup * gzgroup,
wmMsgBus * mbus )
static

◆ gizmo2d_xform_refresh()

◆ gizmo2d_xform_setup()

◆ gizmo2d_xform_setup_no_cage()

static void gizmo2d_xform_setup_no_cage ( const bContext * C,
wmGizmoGroup * gzgroup )
static

◆ gizmogroup2d_init()

◆ gizmogroup2d_resize_init()

static GizmoGroup_Resize2D * gizmogroup2d_resize_init ( wmGizmoGroup * gzgroup)
static

◆ gizmogroup2d_rotate_init()

static GizmoGroup_Rotate2D * gizmogroup2d_rotate_init ( wmGizmoGroup * gzgroup)
static

◆ rotate_around_center_v2()

static void rotate_around_center_v2 ( float point[2],
const float center[2],
const float angle )
static

Definition at line 544 of file transform_gizmo_2d.cc.

References add_v2_v2(), rotate_v2_v2fl(), and sub_v2_v2v2().

Referenced by gizmo2d_xform_invoke_prepare().

◆ seq_get_strip_pivot_median()