X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Flayer_bitmap.cpp;h=7c6511cb6eae80b1bb549de552990c2da4bac282;hb=e8ab6948f86c6d6ad69378fcccd858b6cb5b45b2;hp=73380780962f198e20d623b959a3c28dd2cfe3e1;hpb=e44a07877e3a2e5f0e25db2fc2d67582e50ca327;p=synfig.git diff --git a/synfig-core/src/synfig/layer_bitmap.cpp b/synfig-core/src/synfig/layer_bitmap.cpp index 7338078..7c6511c 100644 --- a/synfig-core/src/synfig/layer_bitmap.cpp +++ b/synfig-core/src/synfig/layer_bitmap.cpp @@ -67,12 +67,11 @@ synfig::Layer_Bitmap::Layer_Bitmap(): c (1), surface (128,128), trimmed (false), - gamma_adjust (1.0), - tl_static (false), - br_static (false), - c_static (true), - gamma_adjust_static(false) + gamma_adjust (1.0) { + Layer::Vocab voc(get_param_vocab()); + Layer::fill_static(voc); + set_param_static("c", true); } bool @@ -83,6 +82,7 @@ synfig::Layer_Bitmap::set_param(const String & param, ValueBase value) IMPORT(c); if(param=="gamma_adjust"&& value.get_type()==ValueBase::TYPE_REAL) { + set_param_static(param, value.get_static()); gamma_adjust=1.0/value.get(Real()); //gamma_adjust.set_gamma(1.0/value.get(Real())); return true; @@ -98,17 +98,31 @@ synfig::Layer_Bitmap::get_param(const String & param)const EXPORT(br); EXPORT(c); if(param=="gamma_adjust") - return 1.0/gamma_adjust; + { + ValueBase ret(1.0/gamma_adjust); + ret.set_static(get_param_static(param)); + return ret; + } if(param=="_width") { - if (trimmed) return int(width); - return surface.get_w(); + ValueBase ret1(ValueBase::TYPE_INTEGER); + ret1=int(width); + ValueBase ret2(surface.get_w()); + ret1.set_static(get_param_static(param)); + ret2.set_static(get_param_static(param)); + if (trimmed) return ret1; + return ret2; } if(param=="_height") { - if (trimmed) return int(height); - return surface.get_h(); + ValueBase ret1(ValueBase::TYPE_INTEGER); + ret1=int(height); + ValueBase ret2(surface.get_h()); + ret1.set_static(get_param_static(param)); + ret2.set_static(get_param_static(param)); + if (trimmed) return ret1; + return ret2; } return Layer_Composite::get_param(param); @@ -525,29 +539,3 @@ Layer_Bitmap::get_bounding_rect()const { return Rect(tl,br); } - - -bool -Layer_Bitmap::set_param_static(const String ¶m, const bool x) -{ - - SET_STATIC(tl, x) - SET_STATIC(br, x) - SET_STATIC(c, x) - SET_STATIC(gamma_adjust, x) - - return Layer_Composite::set_param_static(param, x); -} - - -bool -Layer_Bitmap::get_param_static(const String ¶m) const -{ - - GET_STATIC(tl) - GET_STATIC(br) - GET_STATIC(c) - GET_STATIC(gamma_adjust) - - return Layer_Composite::get_param_static(param); -}