Browse Source

add frameTexture

David Rose 22 years ago
parent
commit
0cc3ed8706
1 changed files with 15 additions and 0 deletions
  1. 15 0
      direct/src/gui/DirectGuiBase.py

+ 15 - 0
direct/src/gui/DirectGuiBase.py

@@ -692,6 +692,7 @@ class DirectGuiWidget(DirectGuiBase, NodePath):
             ('borderWidth',    (.1,.1),      self.setBorderWidth),
             ('borderWidth',    (.1,.1),      self.setBorderWidth),
             ('frameSize',      None,         self.setFrameSize),
             ('frameSize',      None,         self.setFrameSize),
             ('frameColor',     (.8,.8,.8,1), self.setFrameColor),
             ('frameColor',     (.8,.8,.8,1), self.setFrameColor),
+            ('frameTexture',   None,         self.setFrameTexture),
             ('pad',            (0,0),        self.resetFrameSize),
             ('pad',            (0,0),        self.resetFrameSize),
             # Override button id (beware! your name may not be unique!)
             # Override button id (beware! your name may not be unique!)
             ('guiId',          None,         INITOPT),
             ('guiId',          None,         INITOPT),
@@ -955,6 +956,20 @@ class DirectGuiWidget(DirectGuiBase, NodePath):
             self.frameStyle[i].setColor(color[0], color[1], color[2], color[3])
             self.frameStyle[i].setColor(color[0], color[1], color[2], color[3])
         self.updateFrameStyle()
         self.updateFrameStyle()
 
 
+    def setFrameTexture(self):
+        # this might be a single texture or a list of textures
+        textures = self['frameTexture']
+        if textures == None or isinstance(textures, Texture):
+            textures = (textures,)
+        for i in range(self['numStates']):
+            if i >= len(textures):
+                texture = textures[-1]
+            else:
+                texture = textures[i]
+            if texture:
+                self.frameStyle[i].setTexture(texture)
+        self.updateFrameStyle()
+
     def setBorderWidth(self):
     def setBorderWidth(self):
         width = self['borderWidth']
         width = self['borderWidth']
         for i in range(self['numStates']):
         for i in range(self['numStates']):