diff options
author | Ton Roosendaal <ton@blender.org> | 2009-05-24 17:29:29 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-05-24 17:29:29 +0400 |
commit | ab407f6ac748225386c5f09685490d6df67916f8 (patch) | |
tree | f66ec462386dbfcc847f690551866bf2a3630c14 /source/blender/editors/include | |
parent | ef01c5bf0abda3893b3a7f075a3ab20f164d5081 (diff) |
2.5
First version of region-scaling. WIP commit, so bear with me a while!
- All fixed sized regions have a small 'drag' widget, on the left or top.
(not yet for free-sized regions, like 4-split).
- Mouse-over on widget changes cursor and allows drag.
- Click on widget hides/reveals.
- Fun for test; 3d view header, if high enough, draws more rows of
buttons when width is too small.
The WIP stuff;
- It doesn't save yet in files, using the "minsize" variable of region
definitions, also means other similar areas show same sizes now.
- Definitions for pref size, min/max will be added.
- Properties panel in Fcurve window draws widget on wrong place when
hidden (subdiv system needs tweak)
- Widgets don't draw perfect yet, also needs further tweaks.
But, in general it's quite fun and usable. :) Many variatians are possible,
like for real tabs, or little icons, or just click-drag on edge.
The reason to first try the widget/tab variation:
- it re-uses the "Area Action Zone" code, widgets for layouting Screens
- it's visible, hotkey-only options for screen layouts are not preferred.
- distinguish clearly area-edges from region-edges this way. Having the
cursor change shape on every edge (and block input) is probably annoying
too... but that can be tested.
Later more!
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r-- | source/blender/editors/include/ED_screen_types.h | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/source/blender/editors/include/ED_screen_types.h b/source/blender/editors/include/ED_screen_types.h index 5a13e944d5c..37f2f4f051d 100644 --- a/source/blender/editors/include/ED_screen_types.h +++ b/source/blender/editors/include/ED_screen_types.h @@ -38,27 +38,20 @@ typedef struct ScreenAnimData { typedef struct AZone { struct AZone *next, *prev; + ARegion *ar; int type; - short flag; + /* region-azone, which of the edges */ + short edge; + /* internal */ short do_draw; - int pos; - short x1, y1, x2, y2; + /* for draw */ + short x1, y1, x2, y2, x3, y3; + /* for clip */ + rcti rect; } AZone; /* actionzone type */ -#define AZONE_TRI 1 -#define AZONE_QUAD 2 - -/* actionzone flag */ - -/* actionzone pos */ -#define AZONE_S 1 -#define AZONE_SW 2 -#define AZONE_W 3 -#define AZONE_NW 4 -#define AZONE_N 5 -#define AZONE_NE 6 -#define AZONE_E 7 -#define AZONE_SE 8 +#define AZONE_AREA 1 +#define AZONE_REGION 2 #endif /* ED_SCREEN_TYPES_H__ */ |