]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/image.cpp
Use nullptr instead of 0 for pointers
[libs/gltk.git] / source / image.cpp
index 0102a47e487ea8bf4a9efdf29cf1696172820b8f..655ecc252d2b81aa3187195e6d662611835e283a 100644 (file)
@@ -11,8 +11,7 @@ namespace Msp {
 namespace GLtk {
 
 Image::Image(const GL::Texture2D *i):
-       image(i),
-       keep_aspect(true)
+       image(i)
 {
 }
 
@@ -39,7 +38,7 @@ void Image::set_image(const GL::Texture2D *i)
        image = i;
        icon_name = string();
        signal_autosize_changed.emit();
-       rebuild();
+       mark_rebuild();
 }
 
 void Image::set_icon(const string &n)
@@ -51,7 +50,7 @@ void Image::set_icon(const string &n)
 void Image::set_keep_aspect(bool ka)
 {
        keep_aspect = ka;
-       rebuild();
+       mark_rebuild();
 }
 
 void Image::update_icon()
@@ -62,16 +61,16 @@ void Image::update_icon()
                if(root)
                {
                        if(icon_name.empty())
-                               image = 0;
+                               image = nullptr;
                        else
                                image = &root->get_resources().get<GL::Texture2D>(icon_name);
                        signal_autosize_changed.emit();
-                       rebuild();
+                       mark_rebuild();
                        return;
                }
        }
 
-       image = 0;
+       image = nullptr;
 }
 
 void Image::rebuild_special(const Part &part)
@@ -129,5 +128,12 @@ void Image::on_reparent()
                update_icon();
 }
 
+
+Image::Loader::Loader(Image &img):
+       DataFile::DerivedObjectLoader<Image, Widget::Loader>(img)
+{
+       add("icon", &Image::icon_name);
+}
+
 } // namespace GLtk
 } // namespace Msp