view orpg/map/_grid.py @ 97:bb22f0f1a7ec alpha

Traipse Alpha 'OpenRPG' {090924-01} Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the productivity of the user. Update Summary: 00: Update forwards to the 090909-02 Server code that now works. New default Lobby Map, designed for Traipse. Feel free to change it. Updates to Server GUI: * Admin can Ban from Backend. * Prework to modify Ban List in back end. * Server GUI finds your Lobby Name * New users default as Lurker unless a Role is set New Addition to Chat Die Roll commands. Math Ordering. Ex. [(X+Y)dZ]. Currently does pairs only, no nesting either. Cleaner TraipseSuiteAttention portability and clean up in Main (Beta!) 01: Die Roll Commands addition removed in favor of Core code
author sirebral
date Thu, 24 Sep 2009 21:21:49 -0500
parents 4385a7d0efd1
children
line wrap: on
line source

import wx

import orpg.dirpath
from orpg.orpgCore import *
from orpg.tools.rgbhex import RGBHex

class GridLayer:
    def __init__(self, canvas):
        self.canvas = canvas
        self.RGBHex = RGBHex()

    def Draw(self, dc):
        r, g, b = self.RGBHex.rgb_tuple(self.canvas.gridColor)
        pen = wx.Pen(wx.Color(r, g, b, 255), 1, self.canvas.gridLines)
        dc.SetPen(pen)

        path = dc.CreatePath()

        if self.canvas.gridType == 'Square':
            self._DrawSquare(dc, path)

        dc.SetPen(wx.NullPen)

    def _DrawSquare(self, dc, path):
        path.MoveToPoint(0, 0)
        y = 0
        while y < self.canvas.size[1]:
            path.AddLineToPoint(self.canvas.size[0], y)
            y += self.canvas.gridSize
            path.MoveToPoint(0, y)

        path.MoveToPoint(0, 0)
        x = 0
        while x < self.canvas.size[0]:
            path.AddLineToPoint(x, self.canvas.size[0])
            x += self.canvas.gridSize
            path.MoveToPoint(x, 0)

        dc.StrokePath(path)