Convert remaining RTPixbuf to RTSurface

Changes:
- Remove RTPixbuf use in directory browser to use native GTK mechanism
- Replace RTPixbuf by RTSurface for thumbnail icons
- Remove now useless RTPixbuf class

Fixes:
- Elaborate RTSurface width / height based on the type
This commit is contained in:
Pandagrapher
2022-08-27 11:37:59 +02:00
parent 36222d14a2
commit 50e54aa395
11 changed files with 151 additions and 297 deletions

View File

@@ -31,6 +31,7 @@
class Thumbnail;
class ThumbBrowserBase;
class RTSurface;
class ThumbBrowserEntryBase
{
@@ -83,8 +84,8 @@ protected:
Glib::RefPtr<BackBuffer> backBuffer;
bool bbSelected, bbFramed;
guint8* bbPreview;
std::vector<Glib::RefPtr<Gdk::Pixbuf>> bbIcons;
std::vector<Glib::RefPtr<Gdk::Pixbuf>> bbSpecificityIcons;
std::vector<std::shared_ptr<RTSurface>> bbIcons;
std::vector<std::shared_ptr<RTSurface>> bbSpecificityIcons;
CursorShape cursor_type;
void drawFrame (Cairo::RefPtr<Cairo::Context> cr, const Gdk::RGBA& bg, const Gdk::RGBA& fg);
@@ -185,8 +186,8 @@ public:
virtual void drawProgressBar (Glib::RefPtr<Gdk::Window> win, const Gdk::RGBA& foregr, const Gdk::RGBA& backgr, int x, int w, int y, int h) {}
virtual std::vector<Glib::RefPtr<Gdk::Pixbuf>> getIconsOnImageArea ();
virtual std::vector<Glib::RefPtr<Gdk::Pixbuf>> getSpecificityIconsOnImageArea ();
virtual std::vector<std::shared_ptr<RTSurface>> getIconsOnImageArea ();
virtual std::vector<std::shared_ptr<RTSurface>> getSpecificityIconsOnImageArea ();
virtual void getIconSize (int& w, int& h) const = 0;
virtual bool motionNotify (int x, int y);