Cleanup: remove redundant doxygen \file argument
[blender.git] / source / blender / editors / curve / curve_intern.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2008 Blender Foundation.
17  * All rights reserved.
18  */
19
20 /** \file \ingroup edcurve
21  */
22
23
24 #ifndef __CURVE_INTERN_H__
25 #define __CURVE_INTERN_H__
26
27 /* internal exports only */
28 struct EditNurb;
29 struct GHash;
30 struct ListBase;
31 struct Object;
32 struct ViewContext;
33 struct wmOperatorType;
34
35 /* editfont.c */
36 enum { DEL_NEXT_CHAR, DEL_PREV_CHAR, DEL_NEXT_WORD, DEL_PREV_WORD, DEL_SELECTION, DEL_NEXT_SEL, DEL_PREV_SEL };
37 enum { CASE_LOWER, CASE_UPPER };
38 enum { LINE_BEGIN, LINE_END, PREV_CHAR, NEXT_CHAR, PREV_WORD, NEXT_WORD,
39        PREV_LINE, NEXT_LINE, PREV_PAGE, NEXT_PAGE };
40
41 typedef enum eVisible_Types {
42         HIDDEN = true,
43         VISIBLE = false,
44 } eVisible_Types;
45
46 typedef enum eEndPoint_Types {
47         FIRST = true,
48         LAST = false,
49 } eEndPoint_Types;
50
51 typedef enum eCurveElem_Types {
52         CURVE_VERTEX = 0,
53         CURVE_SEGMENT,
54 } eCurveElem_Types;
55
56 /* internal select utils */
57 bool select_beztriple(BezTriple *bezt, bool selstatus, short flag, eVisible_Types hidden);
58 bool select_bpoint(BPoint *bp, bool selstatus, short flag, bool hidden);
59
60 void FONT_OT_text_insert(struct wmOperatorType *ot);
61 void FONT_OT_line_break(struct wmOperatorType *ot);
62
63 void FONT_OT_case_toggle(struct wmOperatorType *ot);
64 void FONT_OT_case_set(struct wmOperatorType *ot);
65 void FONT_OT_style_toggle(struct wmOperatorType *ot);
66 void FONT_OT_style_set(struct wmOperatorType *ot);
67
68 void FONT_OT_select_all(struct wmOperatorType *ot);
69
70 void FONT_OT_text_copy(struct wmOperatorType *ot);
71 void FONT_OT_text_cut(struct wmOperatorType *ot);
72 void FONT_OT_text_paste(struct wmOperatorType *ot);
73 void FONT_OT_text_paste_from_file(struct wmOperatorType *ot);
74
75 void FONT_OT_move(struct wmOperatorType *ot);
76 void FONT_OT_move_select(struct wmOperatorType *ot);
77 void FONT_OT_delete(struct wmOperatorType *ot);
78
79 void FONT_OT_change_character(struct wmOperatorType *ot);
80 void FONT_OT_change_spacing(struct wmOperatorType *ot);
81
82 void FONT_OT_open(struct wmOperatorType *ot);
83 void FONT_OT_unlink(struct wmOperatorType *ot);
84
85 void FONT_OT_textbox_add(struct wmOperatorType *ot);
86 void FONT_OT_textbox_remove(struct wmOperatorType *ot);
87
88
89 /* editcurve.c */
90 void CURVE_OT_hide(struct wmOperatorType *ot);
91 void CURVE_OT_reveal(struct wmOperatorType *ot);
92
93 void CURVE_OT_separate(struct wmOperatorType *ot);
94 void CURVE_OT_split(struct wmOperatorType *ot);
95 void CURVE_OT_duplicate(struct wmOperatorType *ot);
96 void CURVE_OT_delete(struct wmOperatorType *ot);
97 void CURVE_OT_dissolve_verts(struct wmOperatorType *ot);
98
99 void CURVE_OT_spline_type_set(struct wmOperatorType *ot);
100 void CURVE_OT_radius_set(struct wmOperatorType *ot);
101 void CURVE_OT_spline_weight_set(struct wmOperatorType *ot);
102 void CURVE_OT_handle_type_set(struct wmOperatorType *ot);
103 void CURVE_OT_normals_make_consistent(struct wmOperatorType *ot);
104 void CURVE_OT_decimate(struct wmOperatorType *ot);
105 void CURVE_OT_shade_smooth(struct wmOperatorType *ot);
106 void CURVE_OT_shade_flat(struct wmOperatorType *ot);
107 void CURVE_OT_tilt_clear(struct wmOperatorType *ot);
108
109 void CURVE_OT_smooth(struct wmOperatorType *ot);
110 void CURVE_OT_smooth_weight(struct wmOperatorType *ot);
111 void CURVE_OT_smooth_radius(struct wmOperatorType *ot);
112 void CURVE_OT_smooth_tilt(struct wmOperatorType *ot);
113
114 void CURVE_OT_switch_direction(struct wmOperatorType *ot);
115 void CURVE_OT_subdivide(struct wmOperatorType *ot);
116 void CURVE_OT_make_segment(struct wmOperatorType *ot);
117 void CURVE_OT_spin(struct wmOperatorType *ot);
118 void CURVE_OT_vertex_add(struct wmOperatorType *ot);
119 void CURVE_OT_extrude(struct wmOperatorType *ot);
120 void CURVE_OT_cyclic_toggle(struct wmOperatorType *ot);
121
122 void CURVE_OT_match_texture_space(struct wmOperatorType *ot);
123
124 /* exported for editcurve_undo.c */
125 struct GHash *ED_curve_keyindex_hash_duplicate(struct GHash *keyindex);
126 void          ED_curve_keyindex_update_nurb(struct EditNurb *editnurb, struct Nurb *nu, struct Nurb *newnu);
127
128 bool ED_curve_pick_vert(
129         struct ViewContext *vc, short sel,
130         struct Nurb **r_nurb, struct BezTriple **r_bezt, struct BPoint **r_bp, short *r_handle,
131         struct Base **r_base);
132
133 /* helper functions */
134 void ed_editnurb_translate_flag(struct ListBase *editnurb, short flag, const float vec[3]);
135 bool ed_editnurb_extrude_flag(struct EditNurb *editnurb, const short flag);
136 bool ed_editnurb_spin(float viewmat[4][4], struct View3D *v3d, struct Object *obedit, const float axis[3], const float cent[3]);
137
138 /* editcurve_select.c */
139 void CURVE_OT_de_select_first(struct wmOperatorType *ot);
140 void CURVE_OT_de_select_last(struct wmOperatorType *ot);
141 void CURVE_OT_select_all(struct wmOperatorType *ot);
142 void CURVE_OT_select_linked(struct wmOperatorType *ot);
143 void CURVE_OT_select_linked_pick(struct wmOperatorType *ot);
144 void CURVE_OT_select_row(struct wmOperatorType *ot);
145 void CURVE_OT_select_next(struct wmOperatorType *ot);
146 void CURVE_OT_select_previous(struct wmOperatorType *ot);
147 void CURVE_OT_select_more(struct wmOperatorType *ot);
148 void CURVE_OT_select_less(struct wmOperatorType *ot);
149 void CURVE_OT_select_random(struct wmOperatorType *ot);
150 void CURVE_OT_select_nth(struct wmOperatorType *ot);
151 void CURVE_OT_select_similar(struct wmOperatorType *ot);
152 void CURVE_OT_shortest_path_pick(struct wmOperatorType *ot);
153
154 /* editcurve_add.c */
155 void CURVE_OT_primitive_bezier_curve_add(struct wmOperatorType *ot);
156 void CURVE_OT_primitive_bezier_circle_add(struct wmOperatorType *ot);
157 void CURVE_OT_primitive_nurbs_curve_add(struct wmOperatorType *ot);
158 void CURVE_OT_primitive_nurbs_circle_add(struct wmOperatorType *ot);
159 void CURVE_OT_primitive_nurbs_path_add(struct wmOperatorType *ot);
160
161 void SURFACE_OT_primitive_nurbs_surface_curve_add(struct wmOperatorType *ot);
162 void SURFACE_OT_primitive_nurbs_surface_circle_add(struct wmOperatorType *ot);
163 void SURFACE_OT_primitive_nurbs_surface_surface_add(struct wmOperatorType *ot);
164 void SURFACE_OT_primitive_nurbs_surface_cylinder_add(struct wmOperatorType *ot);
165 void SURFACE_OT_primitive_nurbs_surface_sphere_add(struct wmOperatorType *ot);
166 void SURFACE_OT_primitive_nurbs_surface_torus_add(struct wmOperatorType *ot);
167
168 /* editcurve_paint.c */
169 void CURVE_OT_draw(struct wmOperatorType *ot);
170
171 #endif /* __CURVE_INTERN_H__ */