From c3c07c0a45f1c35d1f46e2288f872d6d128500be Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Wed, 8 Jun 2011 19:43:11 +0300 Subject: [PATCH] More drop shadow effects in shipbrowser --- gui/sfBrowserItem.py | 10 +++------- gui/shipBrowser.py | 6 +++++- gui/utils/drawUtils.py | 5 +++++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/gui/sfBrowserItem.py b/gui/sfBrowserItem.py index e08791dff..31b6cf592 100644 --- a/gui/sfBrowserItem.py +++ b/gui/sfBrowserItem.py @@ -17,7 +17,8 @@ class PFBaseButton(object): def __init__(self, normalBitmap = wx.NullBitmap,label = "", callback = None, hoverBitmap = None, disabledBitmap = None, show = True): self.normalBmp = normalBitmap - self.dropShadowBmp = self.CreateDropShadowBitmap() + self.dropShadowOpacity = 0.2 + self.dropShadowBmp = drawUtils.CreateDropShadowBitmap(self.normalBmp, self.dropShadowOpacity) self.hoverBmp = hoverBitmap self.disabledBmp = disabledBitmap self.label = label @@ -63,7 +64,7 @@ class PFBaseButton(object): def SetBitmap(self, bitmap): self.normalBmp = bitmap - self.dropShadowBmp = self.CreateDropShadowBitmap() + self.dropShadowBmp = drawUtils.CreateDropShadowBitmap(self.normalBmp, self.dropShadowOpacity) def GetLabel(self): return self.label @@ -78,11 +79,6 @@ class PFBaseButton(object): return self.normalBmp return self.disabledBmp - def CreateDropShadowBitmap(self): - img = wx.ImageFromBitmap(self.normalBmp) - img = img.AdjustChannels(0, 0, 0, 0.2) - return wx.BitmapFromImage(img) - def GetDropShadowBitmap(self): return self.dropShadowBmp diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index b504f7802..b31941306 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -867,6 +867,8 @@ class CategoryItem(SFItem.SFBrowserItem): else: self.shipBmp = wx.EmptyBitmap(16,16) + self.dropShadowBitmap = drawUtils.CreateDropShadowBitmap(self.shipBmp, 0.2) + self.categoryID = categoryID self.fittingInfo = fittingInfo self.shipBrowser = self.Parent.Parent @@ -942,7 +944,7 @@ class CategoryItem(SFItem.SFBrowserItem): textColor = colorUtils.GetSuitableColor(windowColor, 1) mdc.SetTextForeground(textColor) - + mdc.DrawBitmap(self.dropShadowBitmap, self.shipBmpx + 1, self.shipBmpy + 1) mdc.DrawBitmap(self.shipBmp,self.shipBmpx,self.shipBmpy,0) mdc.SetFont(self.fontBig) @@ -1010,6 +1012,7 @@ class ShipItem(SFItem.SFBrowserItem): self.shipEffBkMirrored = wx.BitmapFromImage(img) self.raceBmp = bitmapLoader.getBitmap("race_%s_small" % self.shipRace, "icons") + self.raceDropShadowBmp = drawUtils.CreateDropShadowBitmap(self.raceBmp, 0.2) if self.shipName == "Apotheosis": self.raceMBmp = bitmapLoader.getBitmap("race_jove_small","icons") @@ -1197,6 +1200,7 @@ class ShipItem(SFItem.SFBrowserItem): mdc.DrawBitmap(self.shipBmp, self.shipBmpx, self.shipBmpy, 0) + mdc.DrawBitmap(self.raceDropShadowBmp, self.raceBmpx + 1, self.raceBmpy + 1) mdc.DrawBitmap(self.raceBmp,self.raceBmpx, self.raceBmpy) shipName, fittings = self.shipFittingInfo diff --git a/gui/utils/drawUtils.py b/gui/utils/drawUtils.py index 17ec34826..4c05c9c77 100644 --- a/gui/utils/drawUtils.py +++ b/gui/utils/drawUtils.py @@ -98,3 +98,8 @@ def GetRoundBitmap( w, h, r ): def GetRoundShape( w, h, r ): return wx.RegionFromBitmap( GetRoundBitmap(w,h,r) ) + +def CreateDropShadowBitmap(bitmap, opacity): + img = wx.ImageFromBitmap(bitmap) + img = img.AdjustChannels(0, 0, 0, opacity) + return wx.BitmapFromImage(img)