2008-01-01 18:29:19 +00:00
|
|
|
/**
|
|
|
|
* $Id:
|
|
|
|
*
|
|
|
|
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
|
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*
|
|
|
|
* The Original Code is Copyright (C) 2008 Blender Foundation.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Contributor(s): Blender Foundation
|
|
|
|
*
|
|
|
|
* ***** END GPL LICENSE BLOCK *****
|
|
|
|
*/
|
|
|
|
#ifndef ED_SCREEN_H
|
|
|
|
#define ED_SCREEN_H
|
|
|
|
|
|
|
|
#include "DNA_screen_types.h"
|
2008-01-07 18:03:41 +00:00
|
|
|
#include "DNA_space_types.h"
|
|
|
|
#include "DNA_view2d_types.h"
|
|
|
|
#include "DNA_view3d_types.h"
|
|
|
|
|
|
|
|
struct wmWindowManager;
|
|
|
|
struct wmWindow;
|
|
|
|
struct wmNotifier;
|
2008-12-15 18:43:18 +00:00
|
|
|
struct wmEvent;
|
2008-12-19 14:14:43 +00:00
|
|
|
struct bContext;
|
2008-12-08 15:02:57 +00:00
|
|
|
struct SpaceType;
|
2009-02-08 12:16:35 +00:00
|
|
|
struct Scene;
|
|
|
|
struct bScreen;
|
|
|
|
struct ARegion;
|
2008-12-14 12:16:55 +00:00
|
|
|
struct uiBlock;
|
2.5: WM Compositing
* Triple Buffer is now more complete:
- Proper handling of window resize, duplicate, etc.
- It now uses 3x3 textures (or less) if the power of two sizes
do not match well. That still has a worst case wast of 23.4%,
but better than 300%.
- It can also use the ARB/NV/EXT_texture_rectangle extension
now, which may be supported on hardware that does not support
ARB_texture_non_power_of_two.
- Gesture, menu and brushe redraws now require no redraws at all
from the area regions. So even on a high poly scene just moving
the paint cursor or opening a menu should be fast.
* Testing can be done by setting the "Window Draw Method" in the
User Preferences in the outliner. "Overlap" is still default,
since "Triple Buffer" has not been tested on computers other than
mine, would like to avoid crashing Blender on startup in case
there is a common bug, but it's ready for testing now.
- For reference "Full" draws the full window each time.
- "Triple Buffer" should work for both swap copy and swap exchange
systems, the latter still need the -E command line option for
"Overlap".
- Resizing and going fullscreen still gives flicker here but no
more than "Full" drawing.
* Partial Redraw was added. ED_region_tag_redraw_partial takes a
rect in window coordinates to define a subarea of the region.
On region draw it will then set glScissor to a smaller area, and
ar->drawrct will always be set to either the partial or full
window rect. The latter can then be used for clipping in the 3D
view or clipping interface drawing. Neither is implemented yet.
2009-01-23 03:52:52 +00:00
|
|
|
struct rcti;
|
2008-01-07 18:03:41 +00:00
|
|
|
|
|
|
|
/* regions */
|
2009-02-08 12:16:35 +00:00
|
|
|
void ED_region_do_listen(struct ARegion *ar, struct wmNotifier *note);
|
2008-12-10 17:58:18 +00:00
|
|
|
void ED_region_do_draw(struct bContext *C, struct ARegion *ar);
|
|
|
|
void ED_region_exit(struct bContext *C, struct ARegion *ar);
|
2008-12-19 14:14:43 +00:00
|
|
|
void ED_region_pixelspace(struct ARegion *ar);
|
2009-07-19 12:15:20 +00:00
|
|
|
void ED_region_set(const struct bContext *C, struct ARegion *ar);
|
2008-12-10 17:58:18 +00:00
|
|
|
void ED_region_init(struct bContext *C, struct ARegion *ar);
|
2008-12-16 12:28:00 +00:00
|
|
|
void ED_region_tag_redraw(struct ARegion *ar);
|
2.5: WM Compositing
* Triple Buffer is now more complete:
- Proper handling of window resize, duplicate, etc.
- It now uses 3x3 textures (or less) if the power of two sizes
do not match well. That still has a worst case wast of 23.4%,
but better than 300%.
- It can also use the ARB/NV/EXT_texture_rectangle extension
now, which may be supported on hardware that does not support
ARB_texture_non_power_of_two.
- Gesture, menu and brushe redraws now require no redraws at all
from the area regions. So even on a high poly scene just moving
the paint cursor or opening a menu should be fast.
* Testing can be done by setting the "Window Draw Method" in the
User Preferences in the outliner. "Overlap" is still default,
since "Triple Buffer" has not been tested on computers other than
mine, would like to avoid crashing Blender on startup in case
there is a common bug, but it's ready for testing now.
- For reference "Full" draws the full window each time.
- "Triple Buffer" should work for both swap copy and swap exchange
systems, the latter still need the -E command line option for
"Overlap".
- Resizing and going fullscreen still gives flicker here but no
more than "Full" drawing.
* Partial Redraw was added. ED_region_tag_redraw_partial takes a
rect in window coordinates to define a subarea of the region.
On region draw it will then set glScissor to a smaller area, and
ar->drawrct will always be set to either the partial or full
window rect. The latter can then be used for clipping in the 3D
view or clipping interface drawing. Neither is implemented yet.
2009-01-23 03:52:52 +00:00
|
|
|
void ED_region_tag_redraw_partial(struct ARegion *ar, struct rcti *rct);
|
2009-05-19 17:13:33 +00:00
|
|
|
void ED_region_panels_init(struct wmWindowManager *wm, struct ARegion *ar);
|
2009-07-29 22:57:53 +00:00
|
|
|
void ED_region_panels(const struct bContext *C, struct ARegion *ar, int vertical, char *context, int contextnr);
|
2009-05-19 17:13:33 +00:00
|
|
|
void ED_region_header_init(struct ARegion *ar);
|
UI: Layout Engine
* Buttons are now created first, and after that the layout is computed.
This means the layout engine now works at button level, and makes it
easier to write templates. Otherwise you had to store all info and
create the buttons later.
* Added interface_templates.c as a separate file to put templates in.
These can contain regular buttons, and can be put in a Free layout,
which means you can specify manual coordinates, but still get nested
correct inside other layouts.
* API was changed to allow better nesting. Previously items were added
in the last added layout specifier, i.e. one level up in the layout
hierarchy. This doesn't work well in always, so now when creating things
like rows or columns it always returns a layout which you have to add
the items in. All py scripts were updated to follow this.
* Computing the layout now goes in two passes, first estimating the
required width/height of all nested layouts, and then in the second
pass using the results of that to decide on the actual locations.
* Enum and array buttons now follow the direction of the layout, i.e.
they are vertical or horizontal depending if they are in a column or row.
* Color properties now get a color picker, and only get the additional
RGB sliders with Expand=True.
* File/directory string properties now get a button next to them for
opening the file browse, though this is not implemented yet.
* Layout items can now be aligned, set align=True when creating a column,
row, etc.
* Buttons now get a minimum width of one icon (avoids squashing icon
buttons).
* Moved some more space variables into Style.
2009-05-15 11:19:59 +00:00
|
|
|
void ED_region_header(const struct bContext *C, struct ARegion *ar);
|
2009-08-20 19:46:53 +00:00
|
|
|
void region_scissor_winrct(struct ARegion *ar, struct rcti *winrct);
|
2008-01-07 18:03:41 +00:00
|
|
|
|
|
|
|
/* spaces */
|
|
|
|
void ED_spacetypes_init(void);
|
2.5 Branch
==========
* Changed wmOperatorType, removing init/exit callbacks and adding cancel
callback, removed default storage in favor of properties. Defined return
values for exec/invoke/modal/cancel.
* Don't allocate operator on the stack, and removed operator copy for
handlers. Now it frees based on return values from callbacks, and just
keeps a wmOperator on the heap. Also it now registers after the operator
is fully finished, to get the correct final properties.
* Changed OP_get_* functions to return 1 if the property is found and 0
otherwise, gives more readable code in my opinion. Added OP_verify_*
functions to quickly check if the property is available and set if it's
not, that's common for exec/invoke.
* Removed WM_operatortypelist_append in favor of WM_operatortype_append
which takes a function pointer instead of a list, avoids macro's and
duplicating code.
* Fix a crash where the handler would still be used while it was freed by
the operator.
* Spacetypes now have operatortypes() and keymap() callbacks to abstract
them a bit more.
* Renamed C->curarea to C->area for consistency. Removed View3D/View2D/
SpaceIpo from bContext, seems bad to keep these.
* Set context variables like window/screen/area/region to NULL again when
leaving that context, instead of leaving the pointers there.
* Added if(G.f & G_DEBUG) for many of the prints, makes output a bit
cleaner and easier to debug.
* Fixed priority of the editors/interface module in scons, would otherwise
give link errors.
* Added start of generic view2d api.
* Added space_time with some basic drawing and a single operator to change
the frame.
2008-06-11 10:10:31 +00:00
|
|
|
void ED_spacetypes_keymap(struct wmWindowManager *wm);
|
2009-07-23 20:40:51 +00:00
|
|
|
int ED_area_header_switchbutton(const struct bContext *C, struct uiBlock *block, int yco);
|
2008-12-19 14:14:43 +00:00
|
|
|
int ED_area_header_standardbuttons(const struct bContext *C, struct uiBlock *block, int yco);
|
2008-12-16 18:42:12 +00:00
|
|
|
void ED_area_overdraw(struct bContext *C);
|
2.5: WIP commit for WM compositing.
* Drawing code from wm_event_system.c split into separate wm_draw.c file.
Now there's 3 different draw methods implemented, not sure what survives
or will be added but is useful for debugging.
* Draw All: redraws everything each time, for reference.
* Draw Overlap All: what the code did before this commit, only draw
regions marked for redraw, and anything that overlaps them.
* Triple Buffer: copies/retores all area regions into a texture, and
blits that before drawing. Menus, brushes, gestures, etc are redrawn
always on top of that.
Currently "Draw Overlap All" is set hardcoded to be used still. Triple
Buffer code is not complete, it doesn't handle window resize yet. Cards
that don't support non power of two textures can need quite large
textures as well, this could be split into multiple smaller ones.
2009-01-20 21:55:48 +00:00
|
|
|
void ED_area_overdraw_flush(struct bContext *C, struct ScrArea *sa, struct ARegion *ar);
|
2008-12-16 18:42:12 +00:00
|
|
|
|
2008-01-07 18:03:41 +00:00
|
|
|
|
|
|
|
/* areas */
|
|
|
|
void ED_area_initialize(struct wmWindowManager *wm, struct wmWindow *win, struct ScrArea *sa);
|
2008-12-10 17:58:18 +00:00
|
|
|
void ED_area_exit(struct bContext *C, struct ScrArea *sa);
|
|
|
|
int ED_screen_area_active(const struct bContext *C);
|
2009-01-04 17:45:54 +00:00
|
|
|
void ED_area_do_listen(ScrArea *sa, struct wmNotifier *note);
|
2008-12-16 12:28:00 +00:00
|
|
|
void ED_area_tag_redraw(ScrArea *sa);
|
2009-01-04 17:45:54 +00:00
|
|
|
void ED_area_tag_refresh(ScrArea *sa);
|
|
|
|
void ED_area_do_refresh(struct bContext *C, ScrArea *sa);
|
2008-12-21 17:18:36 +00:00
|
|
|
void ED_area_headerprint(ScrArea *sa, const char *str);
|
2009-01-06 18:14:37 +00:00
|
|
|
void ED_area_newspace(struct bContext *C, ScrArea *sa, int type);
|
|
|
|
void ED_area_prevspace(struct bContext *C);
|
2009-03-11 20:22:06 +00:00
|
|
|
void ED_area_swapspace(struct bContext *C, ScrArea *sa1, ScrArea *sa2);
|
2008-01-07 18:03:41 +00:00
|
|
|
|
|
|
|
/* screens */
|
|
|
|
void ED_screens_initialize(struct wmWindowManager *wm);
|
|
|
|
void ED_screen_draw(struct wmWindow *win);
|
|
|
|
void ED_screen_refresh(struct wmWindowManager *wm, struct wmWindow *win);
|
2008-01-19 17:54:05 +00:00
|
|
|
void ED_screen_do_listen(struct wmWindow *win, struct wmNotifier *note);
|
2008-12-10 17:58:18 +00:00
|
|
|
bScreen *ED_screen_duplicate(struct wmWindow *win, struct bScreen *sc);
|
2009-07-24 12:43:59 +00:00
|
|
|
bScreen *ED_screen_add(struct wmWindow *win, struct Scene *scene, char *name);
|
2009-02-07 19:37:29 +00:00
|
|
|
void ED_screen_set(struct bContext *C, struct bScreen *sc);
|
2009-08-15 16:43:03 +00:00
|
|
|
void ED_screen_delete(struct bContext *C, struct bScreen *sc);
|
2009-02-08 12:16:35 +00:00
|
|
|
void ED_screen_set_scene(struct bContext *C, struct Scene *scene);
|
2009-08-15 16:43:03 +00:00
|
|
|
void ED_screen_delete_scene(struct bContext *C, struct Scene *scene);
|
2008-12-15 18:43:18 +00:00
|
|
|
void ED_screen_set_subwinactive(struct wmWindow *win, struct wmEvent *event);
|
2008-12-10 17:58:18 +00:00
|
|
|
void ED_screen_exit(struct bContext *C, struct wmWindow *window, struct bScreen *screen);
|
2009-08-16 20:37:22 +00:00
|
|
|
void ED_screen_animation_timer(struct bContext *C, int redraws, int sync, int enable);
|
2009-08-16 23:37:46 +00:00
|
|
|
void ED_screen_animation_timer_update(struct bContext *C, int redraws);
|
2009-02-08 12:16:35 +00:00
|
|
|
int ED_screen_full_newspace(struct bContext *C, ScrArea *sa, int type);
|
2009-01-06 18:52:18 +00:00
|
|
|
void ED_screen_full_prevspace(struct bContext *C);
|
|
|
|
|
2009-07-24 12:43:59 +00:00
|
|
|
void ED_screen_new_window(struct bContext *C, struct rcti *position, int type);
|
|
|
|
|
2009-02-04 17:40:50 +00:00
|
|
|
/* anim */
|
|
|
|
void ED_update_for_newframe(const struct bContext *C, int mute);
|
|
|
|
unsigned int ED_screen_view3d_layers(struct bScreen *screen);
|
2008-01-07 18:03:41 +00:00
|
|
|
|
2.5 Branch
==========
* Changed wmOperatorType, removing init/exit callbacks and adding cancel
callback, removed default storage in favor of properties. Defined return
values for exec/invoke/modal/cancel.
* Don't allocate operator on the stack, and removed operator copy for
handlers. Now it frees based on return values from callbacks, and just
keeps a wmOperator on the heap. Also it now registers after the operator
is fully finished, to get the correct final properties.
* Changed OP_get_* functions to return 1 if the property is found and 0
otherwise, gives more readable code in my opinion. Added OP_verify_*
functions to quickly check if the property is available and set if it's
not, that's common for exec/invoke.
* Removed WM_operatortypelist_append in favor of WM_operatortype_append
which takes a function pointer instead of a list, avoids macro's and
duplicating code.
* Fix a crash where the handler would still be used while it was freed by
the operator.
* Spacetypes now have operatortypes() and keymap() callbacks to abstract
them a bit more.
* Renamed C->curarea to C->area for consistency. Removed View3D/View2D/
SpaceIpo from bContext, seems bad to keep these.
* Set context variables like window/screen/area/region to NULL again when
leaving that context, instead of leaving the pointers there.
* Added if(G.f & G_DEBUG) for many of the prints, makes output a bit
cleaner and easier to debug.
* Fixed priority of the editors/interface module in scons, would otherwise
give link errors.
* Added start of generic view2d api.
* Added space_time with some basic drawing and a single operator to change
the frame.
2008-06-11 10:10:31 +00:00
|
|
|
void ED_operatortypes_screen(void);
|
|
|
|
void ED_keymap_screen(struct wmWindowManager *wm);
|
2008-01-01 18:29:19 +00:00
|
|
|
|
2008-01-10 17:38:17 +00:00
|
|
|
/* operators; context poll callbacks */
|
2008-06-24 14:51:02 +00:00
|
|
|
int ED_operator_screenactive(struct bContext *C);
|
|
|
|
int ED_operator_screen_mainwinactive(struct bContext *C);
|
2.5 getting-back-into-coding commit :)
- cleaned up join and split operations. Most noticable is operator callback
design, which should make a design based on user-less exec() first, then
wrap invoke() and modal() around it. The exec() should be callable with
only Context and properties.
- split now works again; and inversed as previously, if you drag from a
triangle (action zone) inside area it subdivides area as expected.
- dragging from triangle outside area, over an edge, joins areas
- split has been simplified, it had too many options... it could just work
simpler (now)
- 'action zone' now is an operator itself, a widget sending an ACTIONZONE event,
which can be handled by others (so other gestures can be added in action zone
too)
Still evaluating:
- context gets set where?
- code structure confuses... what are proper functions for operators?
- what is WM... should low level screen stuff more there?
- when do you send event, notifier?
- files grow to large, will clean
Oh yeah and docs, docs, docs. Coming! :)
2008-11-17 18:54:03 +00:00
|
|
|
int ED_operator_areaactive(struct bContext *C);
|
2009-02-19 23:53:40 +00:00
|
|
|
int ED_operator_regionactive(struct bContext *C);
|
2008-01-10 17:38:17 +00:00
|
|
|
|
2009-01-01 14:57:04 +00:00
|
|
|
int ED_operator_scene_editable(struct bContext *C);
|
|
|
|
|
2008-12-26 19:07:31 +00:00
|
|
|
int ED_operator_view3d_active(struct bContext *C);
|
|
|
|
int ED_operator_timeline_active(struct bContext *C);
|
|
|
|
int ED_operator_outliner_active(struct bContext *C);
|
|
|
|
int ED_operator_file_active(struct bContext *C);
|
|
|
|
int ED_operator_action_active(struct bContext *C);
|
|
|
|
int ED_operator_buttons_active(struct bContext *C);
|
|
|
|
int ED_operator_node_active(struct bContext *C);
|
|
|
|
int ED_operator_ipo_active(struct bContext *C);
|
|
|
|
int ED_operator_sequencer_active(struct bContext *C);
|
2009-02-04 17:40:50 +00:00
|
|
|
int ED_operator_image_active(struct bContext *C);
|
NLA SoC: Operators for 'tweaking' strip actions (TAB-Key for both)
In this commit, I've introduced the mechanism by which actions already referenced by strips used in the NLA can be edited (or 'tweaked'). To use, simply select a strip you wish to edit, and hit that TAB key to start tweaking that strip's action, and hit TAB again once you're done.
What happens when you enter 'tweak mode':
1) The action of the active strip temporarily becomes the 'active action' of the AnimData block. You are now able to edit this in one of the Animation Editors (DopeSheet/Action, Graph Editors) as per normal (i.e. sliding keyframes around, inserting keyframes, etc.). The 'action-line' will therefore get drawn immediately above the active track containing the active strip, so that it's clear that that's what we're editing.
2) All the NLA-tracks (and all the strips within them) that occur after the track that the active strip lived in get disabled while you're in tweakmode. This is equivalent to travelling back to an earlier state in a construction history stack.
3) The active NLA track also gets disabled while in tweakmode, since it would otherwise interfere with the correct functioning of the tweaking for the action of interest.
4) The 'real' active action (i.e. the one displaced by the active strip's action) gets put into temp storage, and will be restored after you exit tweakmode.
5) Any strips which also reference the action being tweaked will get highlighted in red shading to indicate that you may be making some changes to the action which you don't really want to make for the other users too.
Please note though, that this is only a rough prototype of this functionality, with some niceties still to come. i.e.:
* NLA-tracks after the active track should still get drawn above the 'tweaking action line', but perhaps with different appearance?
* Various tools will still need awareness of this to prevent corrupting operations from taking place. How to proceed is still undecided...
* When exiting tweak-mode, the strip the action came from still needs some form of syncing with the modified action... there are a few tricky issues here that will need to be solved
* Evaluation code doesn't totally take this into account yet...
---
Also, fixed a number of bugs with various code (notably selection, and also a few drawing bugs)
2009-06-05 05:18:07 +00:00
|
|
|
int ED_operator_nla_active(struct bContext *C);
|
2009-06-16 13:09:36 +00:00
|
|
|
int ED_operator_logic_active(struct bContext *C);
|
2008-12-26 19:07:31 +00:00
|
|
|
|
2009-01-01 13:15:35 +00:00
|
|
|
int ED_operator_object_active(struct bContext *C);
|
|
|
|
int ED_operator_editmesh(struct bContext *C);
|
2009-02-01 18:07:02 +00:00
|
|
|
int ED_operator_editarmature(struct bContext *C);
|
2009-01-01 13:15:35 +00:00
|
|
|
int ED_operator_editcurve(struct bContext *C);
|
2.5: Most curve/surface editmode operators back:
* Hide, Reveal
* Separate, Duplicate, Delete
* Set Weight, Set Radius, Set Spline Type, Set Handle Type, Set Smooth
* Tilt, Clear Tilt
* Smooth, Smooth Radius
* De(select) First, De(select) Last, De(select) All, Select Inverse,
Select Linked, Select Control Point Row, Select Next, Select Previous,
Select More, Select Less, Select Random, Select Every Nth
* Switch Direction, Subdivide, Make Segment, Spin, Extrude, Toggle Cyclic
* Specials Menu
Not working correct yet:
* Add Vertex (ctrl click)
* Add Menu
2009-02-12 22:12:21 +00:00
|
|
|
int ED_operator_editsurf(struct bContext *C);
|
|
|
|
int ED_operator_editsurfcurve(struct bContext *C);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
int ED_operator_editfont(struct bContext *C);
|
2009-07-03 15:23:33 +00:00
|
|
|
int ED_operator_editlattice(struct bContext *C);
|
2009-07-29 12:35:09 +00:00
|
|
|
int ED_operator_editmball(struct bContext *C);
|
2.5: Space Image ported back
Organized as follows:
uvedit/
uv editing related code
uvedit_draw.c: drawing code
uvedit_ops.c: operators, just a few done
uvedit_unwrap_ops.c: will be operators for unwrapping
uvedit_paramatrizer.c: lscm/abf/stretch/pack
space_image/
space_image.c: registration and common getter/setters
image_draw.c: drawing code, mostly functional
image_panels.c: panels, all commented out
image_render.c: render callbacks, non functional
image_ops.c: operators, only view navigation done
image_header.c: header, menus mostly done but missing buttons
Notes:
* Header menus consist only of Operator and RNA buttons, if they
are not implemented they're displayed grayed out. Ideally the full
header could work like this, but std_libbuttons looks problematic.
* Started using view2d code more than the old code, but for now it
still does own view2d management due to some very specific
requirements that the image window has. The drawing code however
is more clear hopefully, it only uses view2d, and there is no
switching between 'p' and 'f' view2d's anymore, it is always 'f'.
* In order to make uvedit operators more independent I move some
image space settings to scene toolsettings, and the current image
and its buffer is in the context. Especially sync selection and
select mode belonged there anyway as this cannot work correct with
different spaces having different settings anyway.
* Image paint is not back yet, did not want to put that together with
uvedit because there's really no code sharing.. perhaps vertex paint,
image paint and sculpt would be good to have in one module to share
brush code, partial redraw, etc better.
2009-01-15 04:38:18 +00:00
|
|
|
int ED_operator_uvedit(struct bContext *C);
|
2009-02-07 01:27:46 +00:00
|
|
|
int ED_operator_uvmap(struct bContext *C);
|
2009-02-01 18:07:02 +00:00
|
|
|
int ED_operator_posemode(struct bContext *C);
|
|
|
|
|
2008-12-26 19:07:31 +00:00
|
|
|
|
2008-12-10 13:56:54 +00:00
|
|
|
/* default keymaps, bitflags */
|
|
|
|
#define ED_KEYMAP_UI 1
|
|
|
|
#define ED_KEYMAP_VIEW2D 2
|
|
|
|
#define ED_KEYMAP_MARKERS 4
|
2008-12-21 08:02:24 +00:00
|
|
|
#define ED_KEYMAP_ANIMATION 8
|
2009-01-23 14:43:25 +00:00
|
|
|
#define ED_KEYMAP_FRAMES 16
|
2008-01-10 17:38:17 +00:00
|
|
|
|
2009-07-24 12:43:59 +00:00
|
|
|
|
2008-01-01 18:29:19 +00:00
|
|
|
#endif /* ED_SCREEN_H */
|
|
|
|
|