82 RPT_(
"Can't change working space with modified images, save them first"));
112 if (convert_colors) {
113 const bool depsgraph_tag =
true;
181 IFACE_(
"To match renders with the previous working space as closely as possible,\n"
182 "colors in all materials, lights and geometry must be converted.\n\n"
183 "Some nodes graphs cannot be converted accurately and may need manual fix-ups."));
188 ot->name =
"Set Blend File Working Color Space";
189 ot->idname =
"WM_OT_set_working_color_space";
190 ot->description =
"Change the working color space of all colors in this blend file";
200 "Convert Colors in All Data-blocks",
201 "Change colors in all data-blocks to the new working space");
207 "Color space to set");
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
wmWindowManager * CTX_wm_manager(const bContext *C)
#define IMA_SIGNAL_COLORMANAGE
void BKE_image_signal(Main *bmain, Image *ima, ImageUser *iuser, int signal)
void BKE_image_partial_update_mark_full_update(Image *image)
Mark the whole image to be updated.
void BKE_movieclip_clear_cache(struct MovieClip *clip)
void BKE_movieclip_free_gputexture(struct MovieClip *clip)
void BKE_report(ReportList *reports, eReportType type, const char *message)
#define LISTBASE_FOREACH(type, var, list)
char * STRNCPY(char(&dst)[N], const char *src)
void DEG_id_tag_update(ID *id, unsigned int flags)
bool ED_image_should_save_modified(const Main *bmain)
void ED_render_engine_changed(Main *bmain, bool update_scene_data)
bool IMB_colormanagement_working_space_set_from_name(const char *name)
int IMB_colormanagement_working_space_get_named_index(const char *name)
const char * IMB_colormanagement_working_space_get_default()
void IMB_colormanagement_working_space_items_add(EnumPropertyItem **items, int *totitem)
void IMB_colormanagement_working_space_convert(Main *bmain, const blender::float3x3 ¤t_scene_linear_to_xyz, const blender::float3x3 &new_xyz_to_scene_linear, const bool depsgraph_tag=false, const bool linked_only=false, const bool editable_assets_only=false)
const char * IMB_colormanagement_working_space_get_indexed_name(int index)
#define ND_RENDER_OPTIONS
float3x3 scene_linear_to_xyz
float3x3 xyz_to_scene_linear
void cache_cleanup(Scene *scene)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_enum_funcs(PropertyRNA *prop, EnumPropertyItemFunc itemfunc)
const EnumPropertyItem rna_enum_dummy_NULL_items[]
void RE_FreeAllPersistentData()
void RE_FreeAllRenderResults()
void RE_FreeInteractiveCompositorRenders()
char scene_linear_name[64]
blender::float3x3 scene_linear_to_xyz
MainColorspace colorspace
struct ReportList * reports
void WM_main_add_notifier(uint type, void *reference)
static const EnumPropertyItem * working_space_itemf(bContext *, PointerRNA *, PropertyRNA *, bool *r_free)
static wmOperatorStatus wm_set_working_color_space_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static bool wm_set_working_space_check_safe(bContext *C, wmOperator *op)
void WM_OT_set_working_color_space(wmOperatorType *ot)
static wmOperatorStatus wm_set_working_color_space_exec(bContext *C, wmOperator *op)
bool WM_jobs_test(const wmWindowManager *wm, const void *owner, int job_type)
wmOperatorStatus WM_operator_props_popup_confirm_ex(bContext *C, wmOperator *op, const wmEvent *, std::optional< std::string > title, std::optional< std::string > confirm_text, const bool cancel_default, std::optional< std::string > message)