Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ED_screen.h « include « editors « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0153b3c9bdb4580224cca9c4cb2fca2ff42e012e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/**
 * $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"
#include "DNA_space_types.h"
#include "DNA_view2d_types.h"
#include "DNA_view3d_types.h"

struct wmWindowManager;
struct wmWindow;
struct wmNotifier;
struct wmEvent;
struct bContext;
struct SpaceType;
struct Scene;
struct bScreen;
struct ARegion;
struct uiBlock;
struct rcti;

/* regions */
void	ED_region_do_listen(struct ARegion *ar, struct wmNotifier *note);
void	ED_region_do_draw(struct bContext *C, struct ARegion *ar);
void	ED_region_exit(struct bContext *C, struct ARegion *ar);
void	ED_region_pixelspace(struct ARegion *ar);
void	ED_region_set(const struct bContext *C, struct ARegion *ar);
void	ED_region_init(struct bContext *C, struct ARegion *ar);
void	ED_region_tag_redraw(struct ARegion *ar);
void	ED_region_tag_redraw_partial(struct ARegion *ar, struct rcti *rct);
void	ED_region_panels_init(struct wmWindowManager *wm, struct ARegion *ar);
void	ED_region_panels(const struct bContext *C, struct ARegion *ar, int vertical, char *context, int contextnr);
void	ED_region_header_init(struct ARegion *ar);
void	ED_region_header(const struct bContext *C, struct ARegion *ar);
void	region_scissor_winrct(struct ARegion *ar, struct rcti *winrct);

/* spaces */
void	ED_spacetypes_init(void);
void	ED_spacetypes_keymap(struct wmWindowManager *wm);
int		ED_area_header_switchbutton(const struct bContext *C, struct uiBlock *block, int yco);
int		ED_area_header_standardbuttons(const struct bContext *C, struct uiBlock *block, int yco);
void	ED_area_overdraw(struct bContext *C);
void	ED_area_overdraw_flush(struct bContext *C, struct ScrArea *sa, struct ARegion *ar);


/* areas */
void	ED_area_initialize(struct wmWindowManager *wm, struct wmWindow *win, struct ScrArea *sa);
void	ED_area_exit(struct bContext *C, struct ScrArea *sa);
int		ED_screen_area_active(const struct bContext *C);
void	ED_area_do_listen(ScrArea *sa, struct wmNotifier *note);
void	ED_area_tag_redraw(ScrArea *sa);
void	ED_area_tag_refresh(ScrArea *sa);
void	ED_area_do_refresh(struct bContext *C, ScrArea *sa);
void	ED_area_headerprint(ScrArea *sa, const char *str);
void	ED_area_newspace(struct bContext *C, ScrArea *sa, int type);
void	ED_area_prevspace(struct bContext *C);
void	ED_area_swapspace(struct bContext *C, ScrArea *sa1, ScrArea *sa2);

/* 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);
void	ED_screen_do_listen(struct wmWindow *win, struct wmNotifier *note);
bScreen *ED_screen_duplicate(struct wmWindow *win, struct bScreen *sc);
bScreen *ED_screen_add(struct wmWindow *win, struct Scene *scene, char *name);
void	ED_screen_set(struct bContext *C, struct bScreen *sc);
void	ED_screen_delete(struct bContext *C, struct bScreen *sc);
void	ED_screen_set_scene(struct bContext *C, struct Scene *scene);
void	ED_screen_delete_scene(struct bContext *C, struct Scene *scene);
void	ED_screen_set_subwinactive(struct wmWindow *win, struct wmEvent *event);
void	ED_screen_exit(struct bContext *C, struct wmWindow *window, struct bScreen *screen);
void	ED_screen_animation_timer(struct bContext *C, int redraws, int sync, int enable);
void	ED_screen_animation_timer_update(struct bContext *C, int redraws);
int		ED_screen_full_newspace(struct bContext *C, ScrArea *sa, int type);
void	ED_screen_full_prevspace(struct bContext *C);

void	ED_screen_new_window(struct bContext *C, struct rcti *position, int type);

/* anim */
void	ED_update_for_newframe(const struct bContext *C, int mute);
unsigned int ED_screen_view3d_layers(struct bScreen *screen);

void	ED_operatortypes_screen(void);
void	ED_keymap_screen(struct wmWindowManager *wm);

/* operators; context poll callbacks */
int		ED_operator_screenactive(struct bContext *C);
int		ED_operator_screen_mainwinactive(struct bContext *C);
int		ED_operator_areaactive(struct bContext *C);
int		ED_operator_regionactive(struct bContext *C);

int		ED_operator_scene_editable(struct bContext *C);

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);
int		ED_operator_image_active(struct bContext *C);
int		ED_operator_nla_active(struct bContext *C);
int		ED_operator_logic_active(struct bContext *C);

int		ED_operator_object_active(struct bContext *C);
int		ED_operator_editmesh(struct bContext *C);
int		ED_operator_editarmature(struct bContext *C);
int		ED_operator_editcurve(struct bContext *C);
int		ED_operator_editsurf(struct bContext *C);
int		ED_operator_editsurfcurve(struct bContext *C);
int		ED_operator_editfont(struct bContext *C);
int		ED_operator_editlattice(struct bContext *C);
int		ED_operator_editmball(struct bContext *C);
int		ED_operator_uvedit(struct bContext *C);
int		ED_operator_uvmap(struct bContext *C);
int		ED_operator_posemode(struct bContext *C);


/* default keymaps, bitflags */
#define ED_KEYMAP_UI		1
#define ED_KEYMAP_VIEW2D	2
#define ED_KEYMAP_MARKERS	4
#define ED_KEYMAP_ANIMATION	8
#define ED_KEYMAP_FRAMES	16
#define ED_KEYMAP_GPENCIL	32

#endif /* ED_SCREEN_H */