Blender V4.3
ED_image.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2008 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_listBase.h"
12#include "DNA_space_types.h"
13
14#include "BLI_string_ref.hh"
15
16struct ARegion;
17struct ImBuf;
18struct Image;
19struct ImageUser;
20struct Main;
21struct ReportList;
22struct Scene;
23struct SpaceImage;
24struct View2D;
25struct bContext;
26struct Paint;
27struct wmOperator;
28struct wmWindowManager;
29
30/* `image_draw.cc` */
31
32float ED_space_image_zoom_level(const View2D *v2d, int grid_dimension);
34 float grid_steps_x[SI_GRID_STEPS_LEN],
35 float grid_steps_y[SI_GRID_STEPS_LEN],
36 int grid_dimension);
42float ED_space_image_increment_snap_value(int grid_dimensions,
43 const float grid_steps[SI_GRID_STEPS_LEN],
44 float zoom_factor);
45
46/* `image_edit.cc`, exported for transform. */
47
48Image *ED_space_image(const SpaceImage *sima);
49void ED_space_image_set(Main *bmain, SpaceImage *sima, Image *ima, bool automatic);
50void ED_space_image_sync(Main *bmain, Image *image, bool ignore_render_viewer);
51void ED_space_image_auto_set(const bContext *C, SpaceImage *sima);
53void ED_space_image_set_mask(bContext *C, SpaceImage *sima, Mask *mask);
54
59 ARegion *region,
60 const int mval[2],
61 float r_fpos[2]);
66 SpaceImage *sima, ARegion *region, const int mval[2], float r_col[3], bool *r_is_data);
67ImBuf *ED_space_image_acquire_buffer(SpaceImage *sima, void **r_lock, int tile);
72void ED_space_image_release_buffer(SpaceImage *sima, ImBuf *ibuf, void *lock);
74
75void ED_space_image_get_size(SpaceImage *sima, int *r_width, int *r_height);
76void ED_space_image_get_size_fl(SpaceImage *sima, float r_size[2]);
77void ED_space_image_get_aspect(SpaceImage *sima, float *r_aspx, float *r_aspy);
79 const ARegion *region,
80 float *r_zoomx,
81 float *r_zoomy);
82void ED_space_image_get_uv_aspect(SpaceImage *sima, float *r_aspx, float *r_aspy);
83
85 SpaceImage *sima,
86 ImBuf *ibuf,
87 bool use_view_settings);
88
96
97void ED_image_get_uv_aspect(Image *ima, ImageUser *iuser, float *r_aspx, float *r_aspy);
99void ED_image_mouse_pos(SpaceImage *sima, const ARegion *region, const int mval[2], float co[2]);
100void ED_image_view_center_to_point(SpaceImage *sima, float x, float y);
102 SpaceImage *sima, const ARegion *region, float x, float y, float *r_x, float *r_y);
104 const ARegion *region,
105 const float co[2],
106 float r_co[2]);
111bool ED_image_slot_cycle(Image *image, int direction);
112
113bool ED_space_image_show_render(const SpaceImage *sima);
114bool ED_space_image_show_paint(const SpaceImage *sima);
115bool ED_space_image_show_uvedit(const SpaceImage *sima, Object *obedit);
116
118
123
133
144
153
163
165
169void ED_image_draw_info(Scene *scene,
170 ARegion *region,
171 bool color_manage,
172 bool use_default_view,
173 int channels,
174 int x,
175 int y,
176 const unsigned char cp[4],
177 const float fp[4],
178 const float linearcol[4]);
179
180bool ED_space_image_show_cache(const SpaceImage *sima);
182 ARegion *region,
183 const int mval[2]);
184
185bool ED_image_should_save_modified(const Main *bmain);
186int ED_image_save_all_modified_info(const Main *bmain, ReportList *reports);
187bool ED_image_save_all_modified(const bContext *C, ReportList *reports);
188
189/* `image_sequence.cc` */
190
193
196 /* Sequence parameters. */
199 /* UDIM tiles. */
202
203 /* Temporary data. */
205};
206
211 wmOperator *op,
212 bool detect_udim);
213
215void ED_paint_cursor_start(Paint *paint, bool (*poll)(bContext *C));
#define FILE_MAX
These structs are the foundation for all linked lists in the library system.
#define SI_GRID_STEPS_LEN
void ED_space_image_release_buffer(SpaceImage *sima, ImBuf *ibuf, void *lock)
int ED_image_save_all_modified_info(const Main *bmain, ReportList *reports)
bool ED_space_image_show_cache(const SpaceImage *sima)
void ED_space_image_auto_set(const bContext *C, SpaceImage *sima)
Definition image_edit.cc:95
void ED_space_image_sync(Main *bmain, Image *image, bool ignore_render_viewer)
Definition image_edit.cc:70
void ED_space_image_get_size(SpaceImage *sima, int *r_width, int *r_height)
bool ED_space_image_maskedit_visible_splines_poll(bContext *C)
bool ED_space_image_maskedit_mask_visible_splines_poll(bContext *C)
bool ED_image_tools_paint_poll(bContext *C)
int ED_space_image_get_display_channel_mask(ImBuf *ibuf)
ImBuf * ED_space_image_acquire_buffer(SpaceImage *sima, void **r_lock, int tile)
bool ED_space_image_maskedit_mask_poll(bContext *C)
bool ED_space_image_show_paint(const SpaceImage *sima)
bool ED_image_should_save_modified(const Main *bmain)
float ED_space_image_zoom_level(const View2D *v2d, int grid_dimension)
void ED_image_mouse_pos(SpaceImage *sima, const ARegion *region, const int mval[2], float co[2])
void ED_space_image_get_uv_aspect(SpaceImage *sima, float *r_aspx, float *r_aspy)
bool ED_space_image_paint_curve(const bContext *C)
bool ED_space_image_check_show_maskedit(SpaceImage *sima, Object *obedit)
bool ED_space_image_show_render(const SpaceImage *sima)
void ED_image_point_pos(SpaceImage *sima, const ARegion *region, float x, float y, float *r_x, float *r_y)
void ED_space_image_paint_update(Main *bmain, wmWindowManager *wm, Scene *scene)
void ED_space_image_set(Main *bmain, SpaceImage *sima, Image *ima, bool automatic)
Definition image_edit.cc:46
void ED_image_get_uv_aspect(Image *ima, ImageUser *iuser, float *r_aspx, float *r_aspy)
ListBase ED_image_filesel_detect_sequences(blender::StringRefNull root_path, wmOperator *op, bool detect_udim)
bool ED_space_image_has_buffer(SpaceImage *sima)
bool ED_space_image_show_uvedit(const SpaceImage *sima, Object *obedit)
bool ED_space_image_maskedit_poll(bContext *C)
float ED_space_image_increment_snap_value(int grid_dimensions, const float grid_steps[SI_GRID_STEPS_LEN], float zoom_factor)
bool ED_image_slot_cycle(Image *image, int direction)
void ED_space_image_get_aspect(SpaceImage *sima, float *r_aspx, float *r_aspy)
void ED_image_draw_info(Scene *scene, ARegion *region, bool color_manage, bool use_default_view, int channels, int x, int y, const unsigned char cp[4], const float fp[4], const float linearcol[4])
bool ED_space_image_get_position(SpaceImage *sima, ARegion *region, const int mval[2], float r_fpos[2])
void ED_space_image_scopes_update(const bContext *C, SpaceImage *sima, ImBuf *ibuf, bool use_view_settings)
void ED_space_image_get_size_fl(SpaceImage *sima, float r_size[2])
void ED_space_image_get_zoom(SpaceImage *sima, const ARegion *region, float *r_zoomx, float *r_zoomy)
void ED_space_image_set_mask(bContext *C, SpaceImage *sima, Mask *mask)
void ED_image_point_pos__reverse(SpaceImage *sima, const ARegion *region, const float co[2], float r_co[2])
bool ED_space_image_cursor_poll(bContext *C)
Image * ED_space_image(const SpaceImage *sima)
Definition image_edit.cc:40
void ED_image_view_center_to_point(SpaceImage *sima, float x, float y)
bool ED_image_save_all_modified(const bContext *C, ReportList *reports)
void ED_paint_cursor_start(Paint *paint, bool(*poll)(bContext *C))
bool ED_space_image_show_cache_and_mval_over(const SpaceImage *sima, ARegion *region, const int mval[2])
void ED_space_image_grid_steps(SpaceImage *sima, float grid_steps_x[SI_GRID_STEPS_LEN], float grid_steps_y[SI_GRID_STEPS_LEN], int grid_dimension)
bool ED_space_image_color_sample(SpaceImage *sima, ARegion *region, const int mval[2], float r_col[3], bool *r_is_data)
Mask * ED_space_image_get_mask(const SpaceImage *sima)
volatile int lock
ccl_global const KernelWorkTile * tile
ListBase frames
Definition ED_image.hh:204
ImageFrameRange * next
Definition ED_image.hh:192
ImageFrameRange * prev
Definition ED_image.hh:192
char filepath[FILE_MAX]
Definition ED_image.hh:195
ListBase udim_tiles
Definition ED_image.hh:201