merge with 2.5 at r18679
[blender.git] / source / blender / editors / transform / transform.h
index 6198a8ec145917223eaba37dae83ba1577bf85ea..a7017df5439f2d5b7ac4b541b9f586e4761dffc6 100644 (file)
@@ -150,6 +150,14 @@ typedef struct TransDataCurveHandleFlags {
        char *h1, *h2;
 } TransDataCurveHandleFlags;
 
+/* for sequencer transform */
+typedef struct TransDataSeq {
+       struct Sequence *seq;
+       int flag;               /* a copy of seq->flag that may be modified for nested strips */
+       short start_offset; /* use this so we can have transform data at the strips start, but apply correctly to the start frame  */
+       short sel_flag; /* one of SELECT, SEQ_LEFTSEL and SEQ_RIGHTSEL */
+       
+} TransDataSeq;
 
 typedef struct TransData {
        float  dist;         /* Distance needed to affect element (for Proportionnal Editing)                  */
@@ -212,6 +220,7 @@ typedef struct TransInfo {
     short       imval[2];       /* initial mouse position               */
        short       idx_max;            /* maximum index on the input vector    */
        float           snap[3];                /* Snapping Gears                                               */
+       char            frame_side;             /* Mouse side of the cfra, 'L', 'R' or 'B' */
        
        float           viewmat[4][4];  /* copy from G.vd, prevents feedback,   */
        float           viewinv[4][4];  /* and to make sure we don't have to    */
@@ -352,8 +361,8 @@ void convertViewVec(TransInfo *t, float *vec, short dx, short dy);
 void projectIntView(TransInfo *t, float *vec, int *adr);
 void projectFloatView(TransInfo *t, float *vec, float *adr);
 
-void convertVecToDisplayNum(float *vec, float *num);
-void convertDisplayNumToVec(float *num, float *vec);
+void applyAspectRatio(TransInfo *t, float *vec);
+void removeAspectRatio(TransInfo *t, float *vec);
 
 void initWarp(TransInfo *t);
 int handleEventWarp(TransInfo *t, struct wmEvent *event);
@@ -438,11 +447,12 @@ void flushTransUVs(TransInfo *t);
 void flushTransParticles(TransInfo *t);
 int clipUVTransform(TransInfo *t, float *vec, int resize);
 void flushTransNodes(TransInfo *t);
+void flushTransSeq(TransInfo *t);
 
 /*********************** exported from transform_manipulator.c ********** */
 void draw_manipulator_ext(struct ScrArea *sa, int type, char axis, int col, float vec[3], float mat[][3]);
 int calc_manipulator_stats(struct ScrArea *sa);
-float get_drawsize(struct View3D *v3d, struct ScrArea *sa, float *co);
+float get_drawsize(struct ARegion *ar, float *co);
 
 /*********************** TransData Creation and General Handling *********** */
 void createTransData(struct bContext *C, TransInfo *t);