Blender  V3.3
Classes
transform_gizmo_2d.c File Reference
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_view3d_types.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_layer.h"
#include "RNA_access.h"
#include "UI_resources.h"
#include "UI_view2d.h"
#include "WM_api.h"
#include "WM_message.h"
#include "WM_types.h"
#include "ED_gizmo_library.h"
#include "ED_gizmo_utils.h"
#include "ED_image.h"
#include "ED_screen.h"
#include "ED_uvedit.h"
#include "SEQ_channels.h"
#include "SEQ_iterator.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "SEQ_transform.h"
#include "transform.h"

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 (struct wmGizmoGroup *gzgroup, struct wmMsgBus *mbus, bScreen *screen, ScrArea *area, ARegion *region)
 

Arrow / Cage Gizmo Group

Defines public functions, not the gizmo itself:

enum  { MAN2D_AXIS_TRANS_X = 0 , MAN2D_AXIS_TRANS_Y , MAN2D_AXIS_LAST }
 
typedef struct GizmoGroup2D GizmoGroup2D
 
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 *UNUSED(event), eWM_GizmoFlagTweak UNUSED(tweak_flag))
 
static void gizmo2d_xform_setup (const bContext *UNUSED(C), 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 *UNUSED(gz), const wmEvent *UNUSED(event))
 
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 struct bContext *C, struct wmGizmoGroup *gzgroup, struct wmMsgBus *mbus)
 
void ED_widgetgroup_gizmo2d_xform_no_cage_callbacks_set (wmGizmoGroupType *gzgt)
 

Scale Handles

Defines public functions, not the gizmo itself:

typedef struct GizmoGroup_Resize2D GizmoGroup_Resize2D
 
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 *UNUSED(C), wmGizmoGroup *gzgroup)
 
static void gizmo2d_resize_invoke_prepare (const bContext *C, wmGizmoGroup *UNUSED(gzgroup), wmGizmo *gz, const wmEvent *UNUSED(event))
 
static void gizmo2d_resize_message_subscribe (const struct bContext *C, struct wmGizmoGroup *gzgroup, struct 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
typedef struct GizmoGroup_Rotate2D GizmoGroup_Rotate2D
 
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 *UNUSED(C), wmGizmoGroup *gzgroup)
 
static void gizmo2d_rotate_message_subscribe (const struct bContext *C, struct wmGizmoGroup *gzgroup, struct wmMsgBus *mbus)
 
void ED_widgetgroup_gizmo2d_rotate_callbacks_set (wmGizmoGroupType *gzgt)
 

Typedef Documentation

◆ GizmoGroup2D

typedef struct GizmoGroup2D GizmoGroup2D

◆ GizmoGroup_Resize2D

◆ GizmoGroup_Rotate2D

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAN2D_AXIS_TRANS_X 
MAN2D_AXIS_TRANS_Y 
MAN2D_AXIS_LAST 

Definition at line 149 of file transform_gizmo_2d.c.

Function Documentation

◆ ED_widgetgroup_gizmo2d_resize_callbacks_set()

void ED_widgetgroup_gizmo2d_resize_callbacks_set ( wmGizmoGroupType gzgt)

◆ ED_widgetgroup_gizmo2d_rotate_callbacks_set()

void ED_widgetgroup_gizmo2d_rotate_callbacks_set ( wmGizmoGroupType gzgt)

◆ ED_widgetgroup_gizmo2d_xform_callbacks_set()

void ED_widgetgroup_gizmo2d_xform_callbacks_set ( wmGizmoGroupType gzgt)

◆ ED_widgetgroup_gizmo2d_xform_no_cage_callbacks_set()

void ED_widgetgroup_gizmo2d_xform_no_cage_callbacks_set ( wmGizmoGroupType gzgt)

◆ gizmo2d_calc_bounds()

static bool gizmo2d_calc_bounds ( const bContext C,
float r_center,
float r_min,
float r_max 
)
static

◆ gizmo2d_calc_rotation()

static float gizmo2d_calc_rotation ( const bContext C)
static

◆ gizmo2d_calc_transform_orientation()

static int gizmo2d_calc_transform_orientation ( const bContext C)
static

◆ gizmo2d_calc_transform_pivot()

static bool gizmo2d_calc_transform_pivot ( const bContext C,
float  r_pivot[2] 
)
static

◆ gizmo2d_generic_poll()

static bool gizmo2d_generic_poll ( const bContext C,
wmGizmoGroupType gzgt 
)
static

◆ gizmo2d_get_axis_color()

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

◆ gizmo2d_modal()

static int gizmo2d_modal ( bContext C,
wmGizmo widget,
const wmEvent UNUSEDevent,
eWM_GizmoFlagTweak   UNUSEDtweak_flag 
)
static

◆ 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 409 of file transform_gizmo_2d.c.

References UI_view2d_view_to_region_fl(), and ARegion::v2d.

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

◆ gizmo2d_pivot_point_message_subscribe()

static void gizmo2d_pivot_point_message_subscribe ( struct wmGizmoGroup gzgroup,
struct wmMsgBus mbus,
bScreen screen,
ScrArea area,
ARegion region 
)
static

◆ gizmo2d_resize_draw_prepare()

static void gizmo2d_resize_draw_prepare ( const bContext C,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_resize_invoke_prepare()

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

◆ gizmo2d_resize_message_subscribe()

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

◆ gizmo2d_resize_refresh()

static void gizmo2d_resize_refresh ( const bContext C,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_resize_setup()

static void gizmo2d_resize_setup ( const bContext UNUSEDC,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_rotate_draw_prepare()

static void gizmo2d_rotate_draw_prepare ( const bContext C,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_rotate_message_subscribe()

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

◆ gizmo2d_rotate_refresh()

static void gizmo2d_rotate_refresh ( const bContext C,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_rotate_setup()

static void gizmo2d_rotate_setup ( const bContext UNUSEDC,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_xform_draw_prepare()

static void gizmo2d_xform_draw_prepare ( const bContext C,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_xform_invoke_prepare()

static void gizmo2d_xform_invoke_prepare ( const bContext C,
wmGizmoGroup gzgroup,
wmGizmo UNUSEDgz,
const wmEvent UNUSEDevent 
)
static

◆ gizmo2d_xform_no_cage_message_subscribe()

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

◆ gizmo2d_xform_refresh()

static void gizmo2d_xform_refresh ( const bContext C,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_xform_setup()

static void gizmo2d_xform_setup ( const bContext UNUSEDC,
wmGizmoGroup gzgroup 
)
static

◆ gizmo2d_xform_setup_no_cage()

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

◆ gizmogroup2d_init()

static GizmoGroup2D* gizmogroup2d_init ( wmGizmoGroup gzgroup)
static

◆ 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 543 of file transform_gizmo_2d.c.

References add_v2_v2(), angle(), center, point, rotate_v2_v2fl(), and sub_v2_v2v2().

Referenced by gizmo2d_xform_invoke_prepare().

◆ seq_get_strip_pivot_median()

static bool seq_get_strip_pivot_median ( const Scene scene,
float  r_pivot[2] 
)
static