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 GizmoGroup2D * gizmogroup2d_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_Resize2D * gizmogroup2d_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_Rotate2D * gizmogroup2d_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