Blender  V2.93
ED_paint.h
Go to the documentation of this file.
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 
21 #pragma once
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 struct ImBuf;
28 struct Image;
29 struct ImageUser;
30 struct UndoStep;
31 struct UndoType;
32 struct bContext;
33 struct wmKeyConfig;
34 struct wmOperator;
35 
36 /* paint_ops.c */
37 void ED_operatortypes_paint(void);
38 void ED_operatormacros_paint(void);
39 void ED_keymap_paint(struct wmKeyConfig *keyconf);
40 
41 /* paint_image.c */
43 void ED_imapaint_dirty_region(struct Image *ima,
44  struct ImBuf *ibuf,
45  struct ImageUser *iuser,
46  int x,
47  int y,
48  int w,
49  int h,
50  bool find_old);
52  float color[3],
53  struct wmOperator *op,
54  const int mouse[2]);
55 
56 /* paint_image_proj.c */
57 void ED_paint_data_warning(struct ReportList *reports, bool uvs, bool mat, bool tex, bool stencil);
59  struct Scene *scene, struct Object *ob, bool *uvs, bool *mat, bool *tex, bool *stencil);
60 
61 /* image_undo.c */
62 void ED_image_undo_push_begin(const char *name, int paint_mode);
63 void ED_image_undo_push_begin_with_image(const char *name,
64  struct Image *image,
65  struct ImBuf *ibuf,
66  struct ImageUser *iuser);
67 
68 void ED_image_undo_push_end(void);
69 void ED_image_undo_restore(struct UndoStep *us);
70 
71 void ED_image_undosys_type(struct UndoType *ut);
72 
73 void *ED_image_paint_tile_find(struct ListBase *paint_tiles,
74  struct Image *image,
75  struct ImBuf *ibuf,
76  struct ImageUser *iuser,
77  int x_tile,
78  int y_tile,
79  unsigned short **r_mask,
80  bool validate);
81 void *ED_image_paint_tile_push(struct ListBase *paint_tiles,
82  struct Image *image,
83  struct ImBuf *ibuf,
84  struct ImBuf **tmpibuf,
85  struct ImageUser *iuser,
86  int x_tile,
87  int y_tile,
88  unsigned short **r_mask,
89  bool **r_valid,
90  bool use_thread_lock,
91  bool find_prev);
94 
96 
97 #define ED_IMAGE_UNDO_TILE_BITS 6
98 #define ED_IMAGE_UNDO_TILE_SIZE (1 << ED_IMAGE_UNDO_TILE_BITS)
99 #define ED_IMAGE_UNDO_TILE_NUMBER(size) \
100  (((size) + ED_IMAGE_UNDO_TILE_SIZE - 1) >> ED_IMAGE_UNDO_TILE_BITS)
101 
102 /* paint_curve_undo.c */
103 void ED_paintcurve_undo_push_begin(const char *name);
105 
106 void ED_paintcurve_undosys_type(struct UndoType *ut);
107 
108 #ifdef __cplusplus
109 }
110 #endif
void ED_paintcurve_undo_push_end(struct bContext *C)
void ED_paintcurve_undosys_type(struct UndoType *ut)
void ED_keymap_paint(struct wmKeyConfig *keyconf)
Definition: paint_ops.c:1362
void ED_paint_data_warning(struct ReportList *reports, bool uvs, bool mat, bool tex, bool stencil)
void ED_imapaint_clear_partial_redraw(void)
Definition: paint_image.c:104
void ED_image_undo_push_begin(const char *name, int paint_mode)
Definition: image_undo.c:1066
void ED_image_undo_restore(struct UndoStep *us)
Definition: image_undo.c:1044
void ED_image_paint_tile_lock_end(void)
Definition: image_undo.c:81
void ED_image_paint_tile_lock_init(void)
Definition: image_undo.c:76
void ED_image_undosys_type(struct UndoType *ut)
Definition: image_undo.c:993
void ED_image_undo_push_end(void)
Definition: image_undo.c:1103
void * ED_image_paint_tile_find(struct ListBase *paint_tiles, struct Image *image, struct ImBuf *ibuf, struct ImageUser *iuser, int x_tile, int y_tile, unsigned short **r_mask, bool validate)
Definition: image_undo.c:151
void ED_imapaint_dirty_region(struct Image *ima, struct ImBuf *ibuf, struct ImageUser *iuser, int x, int y, int w, int h, bool find_old)
Definition: paint_image.c:122
void ED_paintcurve_undo_push_begin(const char *name)
struct ListBase * ED_image_paint_tile_list_get(void)
Definition: image_undo.c:1027
void ED_image_undo_push_begin_with_image(const char *name, struct Image *image, struct ImBuf *ibuf, struct ImageUser *iuser)
Definition: image_undo.c:1071
void ED_operatormacros_paint(void)
Definition: paint_ops.c:1256
void ED_imapaint_bucket_fill(struct bContext *C, float color[3], struct wmOperator *op, const int mouse[2])
Definition: paint_image.c:1328
bool ED_paint_proj_mesh_data_check(struct Scene *scene, struct Object *ob, bool *uvs, bool *mat, bool *tex, bool *stencil)
void ED_operatortypes_paint(void)
Definition: paint_ops.c:1272
void * ED_image_paint_tile_push(struct ListBase *paint_tiles, struct Image *image, struct ImBuf *ibuf, struct ImBuf **tmpibuf, struct ImageUser *iuser, int x_tile, int y_tile, unsigned short **r_mask, bool **r_valid, bool use_thread_lock, bool find_prev)
Definition: image_undo.c:181
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
#define C
Definition: RandGen.cpp:39
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
Definition: btQuadWord.h:119
Scene scene
struct ReportList * reports