From b73b49fb5c33dd556e1de0bd1f8e81783307d045 Mon Sep 17 00:00:00 2001 From: Rejean Loyer Date: Sat, 10 Sep 2011 14:47:32 -0400 Subject: [PATCH] extras:gui:IconBag: added new IconBag class --- extras/gui/IconBag.ec | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 extras/gui/IconBag.ec diff --git a/extras/gui/IconBag.ec b/extras/gui/IconBag.ec new file mode 100644 index 0000000..83f31ad --- /dev/null +++ b/extras/gui/IconBag.ec @@ -0,0 +1,72 @@ +#ifdef BUILDING_ECERE_COM +namespace gui::controls; +import "Window" +import "Array" +#else +#ifdef ECERE_STATIC +public import static "ecere" +#else +public import "ecere" +#endif +#endif + +public class IconBag +{ +public: + Window window; + bool alphaBlend; + + Array iconNames { }; + property Container iconNames + { + set + { + iconNames.Copy(value); + } + } + + Array icons { }; + + void Load() + { + int i; + icons.RemoveAll(); + for(i = 0; i < iconNames.count; i++) + { + char * s = iconNames[i]; + BitmapResource br = BitmapResource { iconNames[i], alphaBlend = alphaBlend }; + //Bitmap b = br.bitmap; + window.AddResource(br); + //b = br.bitmap; + icons.Add(br); + } + } + + void Unload() + { + icons.RemoveAll(); + } + + char * GetIconName(TT icon) + { + int i = (int)icon; + return i <= iconNames.count ? iconNames[(int)icon] : null; + } + + /* + BitmapResource GetIcon(TT icon) + { + int i = (int)icon; + return icons[i]; + } + */ + + /* + ~IconBag() + { + //window = null; + //icons.RemoveAll(); + //iconNames.RemoveAll(); + } + */ +} -- 1.8.3.1