view orpg/map/_grid.py @ 25:baee049045be ornery-orc

Traipse 'OpenRPG' {090909-00} 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: Fixes log problem in Fog. Fixes Mini Lib loading problem. Fixes problem with whispers in Alias Lib.
author sirebral
date Wed, 09 Sep 2009 16:59:20 -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)