コード例 #1
0
ファイル: Container.py プロジェクト: 1147279/SoftwareProject
class Container(GUIObject):
    """
    """
    def __init__(self,
                 type='frame',
                 left=0,
                 top=0,
                 width=0,
                 height=0,
                 bg_color=None,
                 fg_color=None,
                 selected_bg_color=None,
                 selected_fg_color=None,
                 border=None,
                 bd_color=None,
                 bd_width=None,
                 vertical_expansion=0):

        GUIObject.__init__(self, left, top, width, height, bg_color, fg_color)

        self.layout_manager = None
        self.border = border
        self.bd_color = bd_color
        self.bd_width = bd_width
        self.vertical_expansion = vertical_expansion

        self.internal_h_align = Align.LEFT
        self.internal_v_align = Align.TOP
        self.h_spacing = self.h_margin
        self.v_spacing = self.v_margin

        if type == 'widget':
            ci = self.content_layout.types['selected'].rectangle
            self.selected_bg_color = selected_bg_color or Color(ci.bgcolor)
            self.selected_fg_color = selected_fg_color or Color(ci.color)

            if not self.bd_color:
                self.bd_color = Color(self.skin_info_widget.rectangle.color)

            if not self.bd_width:
                self.bd_width = self.skin_info_widget.rectangle.size

            if not self.border:
                self.border = Border(self, Border.BORDER_FLAT, self.bd_color,
                                     self.bd_width)

            elif border == -1:
                self.border = None

    def set_layout(self, layout=None):
        if not layout:
            layout = FlowLayout(self)
        self.layout_manager = layout

    def get_layout(self):
        return self.layout_manager

    def layout(self):
        if not self.layout_manager:
            self.layout_manager = FlowLayout(self)

        self.layout_manager.layout()

    def _draw(self):
        _debug_('Container::draw %s' % self, 2)

        for child in self.children:
            if not child == self.border:
                child.draw()

        if self.border and self.border != -1:
            self.border.draw()
コード例 #2
0
ファイル: main.py プロジェクト: ThomasStuart/PongAI
                pressed_down = False

    if pressed_up:
        ComputerPlayer.moveUp()
        HumanPlayer.moveUp()
    elif pressed_down:
        ComputerPlayer.moveDown()
        HumanPlayer.moveDown()
    else:
        ComputerPlayer.dy = 0
        HumanPlayer.dy = 0

    #Update all elements
    # First, erase the display and repaint white
    display.fill(Colors.WHITE)
    # Second, draw on next frame
    HumanPlayer.draw()
    ComputerPlayer.draw()
    Border.draw(display)
    Grid.checkEvents()
    Ball.updatePosition()
    display_score(ComputerPlayer, HumanPlayer, display)

    # update the display with the new changes
    pygame.display.update()
    # - FPS - keep the same speed on all computers -
    clock.tick(FPS)

# Done! Time to quit.
pygame.quit()
コード例 #3
0
ファイル: Container.py プロジェクト: adozenlines/freevo1
class Container(GUIObject):
    """
    """

    def __init__(self, type='frame', left=0, top=0, width=0, height=0,
                 bg_color=None, fg_color=None, selected_bg_color=None,
                 selected_fg_color=None, border=None, bd_color=None,
                 bd_width=None, vertical_expansion=0):

        GUIObject.__init__(self, left, top, width, height, bg_color, fg_color)

        self.layout_manager     = None
        self.border             = border
        self.bd_color           = bd_color
        self.bd_width           = bd_width
        self.vertical_expansion = vertical_expansion

        self.internal_h_align   = Align.LEFT
        self.internal_v_align   = Align.TOP
        self.h_spacing          = self.h_margin
        self.v_spacing          = self.v_margin

        if type == 'widget':
            ci = self.content_layout.types['selected'].rectangle
            self.selected_bg_color = selected_bg_color or Color(ci.bgcolor)
            self.selected_fg_color = selected_fg_color or Color(ci.color)

            if not self.bd_color:
                self.bd_color = Color(self.skin_info_widget.rectangle.color)

            if not self.bd_width:
                self.bd_width = self.skin_info_widget.rectangle.size

            if not self.border:
                self.border = Border(self, Border.BORDER_FLAT, self.bd_color, self.bd_width)

            elif border == -1:
                self.border = None


    def set_layout(self, layout=None):
        if not layout:
            layout = FlowLayout(self)
        self.layout_manager = layout


    def get_layout(self):
        return self.layout_manager


    def layout(self):
        if not self.layout_manager:
            self.layout_manager = FlowLayout(self)

        self.layout_manager.layout()


    def _draw(self):
        logger.log( 9, 'Container::draw %s', self)

        for child in self.children:
            if not child == self.border:
                child.draw()

        if self.border and self.border != -1:
            self.border.draw()