]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/image.cpp
Improve widget part caching
[libs/gltk.git] / source / image.cpp
index a2d44269b86a394115d696796cbc8fbb6fbb5f7c..2735ab611e6a059e73faccae8aa079a0c47e8876 100644 (file)
@@ -53,15 +53,12 @@ void Image::set_keep_aspect(bool ka)
        rebuild();
 }
 
-void Image::rebuild_special(const Part &part, CachedPart &cache)
+void Image::rebuild_special(const Part &part)
 {
        if(part.get_name()=="image")
        {
                if(!image)
-               {
-                       cache.texture = 0;
                        return;
-               }
 
                const Alignment &align = part.get_alignment();
                Geometry rgeom = part.get_geometry();
@@ -84,10 +81,7 @@ void Image::rebuild_special(const Part &part, CachedPart &cache)
                        }
                }
 
-               cache.texture = image;
-               cache.clear_mesh();
-
-               GL::MeshBuilder bld(*cache.mesh);
+               GL::MeshBuilder bld(part_cache.create_mesh(part, *image));
                bld.color(1.0f, 1.0f, 1.0f);
                bld.begin(GL::QUADS);
                bld.texcoord(0.0, 0.0);