]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/image.cpp
Simplify constructors with C++11
[libs/gltk.git] / source / image.cpp
index 0102a47e487ea8bf4a9efdf29cf1696172820b8f..8dbf6cf74fe881e6e871be3894e0ae51aa3147b6 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()
@@ -66,7 +65,7 @@ void Image::update_icon()
                        else
                                image = &root->get_resources().get<GL::Texture2D>(icon_name);
                        signal_autosize_changed.emit();
-                       rebuild();
+                       mark_rebuild();
                        return;
                }
        }
@@ -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