Class THexMap (unit Hexmap) |
Inherits from
TGraphicControl
Used in the Convertcoords function
constructor Create(AOwner: TComponent);
function ConvertCoords(point:Tpoint; { pair to be converted }
pointtype:Tpointtype) { Type to be converted }
:Tpoint;
****************************************************************************} { This function will return the Row / Col pair based on a given X/Y
for a using application that calls it
destructor destroy;
****************************************************************************} { Free any resources allocated to component
function LoadHexMap(MapFileName : String):Boolean;
****************************************************************************} { This function loads a previously created hex map.
procedure PaintAHex(HexColorWanted : Tcolor;
HexPatternWanted: TBrushStyle;
MapLocation:TPoint);
result of conversion ****************************************************************************} { This function paints an individual hex whatever color is wanted
function RangeInHexes(Bpoint:Tpoint;
Epoint:TPoint)
:Integer;
returns the range in hexes from Bpoint to EPoint****************************************************************************} {This function will return the range in hexes between a starting hex
point and a ending hex point for a using application that calls it
procedure SaveHexMap(MapFileName : String);
****************************************************************************} { This function saves a created hex map and creates an INI file called
HexMap.
procedure Paint;
Make hexes look like buttons? ****************************************************************************} { This Function Draws the map
procedure DrawHexOutline(Target:TCanvas; { Canvas to draw hex on }
Linestyle : TPenStyle; { Wwhat kind of lines }
LineColor : Tcolor; { What color for lines }
x,y,radius: integer; { Position and size of Hex }
button : boolean);
Make hexes look like buttons? ****************************************************************************} {Hexagon Outline drawing function
procedure DrawSolidHex(Target:TCanvas; { Canvas to draw hex on }
Fillstyle : TBrushStyle; { How to fill the hex }
Fillcolor : TColor; { Color to fill it }
Linestyle : TPenStyle; { Wwhat kind of lines }
LineColor : Tcolor; { What color for lines }
x,y,radius: integer; { Position and size of Hex }
button : boolean);
****************************************************************************} {Solid Hexagon drawing function
function findrange(Bpoint:Tpoint;Epoint:TPoint):Integer;
Distance from center to top of hex, need to compute each} {Time the radius changes Converts Row/Col to X/Y
procedure MakeBackMap;
****************************************************************************} { This function constructs the hex grid map with background
procedure MakeSolidMap;
****************************************************************************} { This function constructs the grid
procedure SetBackColor(Value: TColor);
*}
procedure SetBackGroundMap(Value: String);
*}
procedure SetHex3d(Value:Boolean);
*}
procedure SetHexColor(Value: TColor);
*}
procedure SetHexColumns(Value: Integer);
procedure SetHexGrid(Value: Boolean);
*}
procedure SetHexRadius(Value: Integer);
*}
procedure SetHexRows(Value: Integer);
*}
procedure SetHexShowLabels(Value:Boolean);
*}
procedure SetLineColor(Value: TColor);
*}
procedure SetSavedImage(Value:Boolean);
*}
procedure SetSolidHexMap(Value:Boolean);
****************************************************************************} { Hexmap Field Implementations } {
property Align :
Inherited properties
property BackColor : TColor
property DragCursor :
property DragMode :
property Enabled :
property Font :
property Hex3d : Boolean
property HexColor : TColor
property HexColumns : Integer
property HexRadius : Integer
property HexRows : Integer
property HexShowLabels : Boolean
property LineColor : TColor
property MapGridOn : Boolean
property MapImageName : String
property NoMapImage : Boolean
property PopupMenu :
property UseSavedMap : Boolean
property Visible :
event OnClick :
event OnDblClick :
event OnDragDrop :
event OnDragOver :
event OnEndDrag :
event OnMouseDown :
event OnMouseMove :
event OnMouseUp :
BitMap1 : TBitMap;
Used as a drawing surface, then copied to control
FBackColor : TColor;
Color of a Hexagon
FDrawSolidMap : Boolean;
Name of background map for canvas
FHex3d : Boolean;
Do we want the hex grid shown on the map?
FHexColor : TColor;
If true, hexes are shaded like buttons
FHexColumns : Integer;
Are we using a previously saved image
FHexMapName : String;
Color of lines used to draw a hexagon
FHexMapOn : Boolean;
If True, lables are displayed in a hex
FHexRadius : Integer;
Number of rows in the map
FHexRows : Integer;
Number of Columns in the map
FHexShowLabels : Boolean;
The radius of one hexagon
FLineColor : Tcolor;
Backround color of bitmap
FSavedImage : Boolean;
Rise : integer;
Used to store a background image
TempMap : TBitMap;
Make a solid color map
constructor Create(AOwner: TComponent);
function ConvertCoords(point:Tpoint; { pair to be converted }
pointtype:Tpointtype) { Type to be converted }
:Tpoint;
****************************************************************************} { This function will return the Row / Col pair based on a given X/Y
for a using application that calls it
destructor destroy;
****************************************************************************} { Free any resources allocated to component
function LoadHexMap(MapFileName : String):Boolean;
****************************************************************************} { This function loads a previously created hex map. This
will allow you to work with saved images already possessing
a hexgrid instead of dynamically creating them each time.
procedure PaintAHex(HexColorWanted : Tcolor;
HexPatternWanted: TBrushStyle;
MapLocation:TPoint);
result of conversion
****************************************************************************} { This function paints an individual hex whatever color is wanted
function RangeInHexes(Bpoint:Tpoint;
Epoint:TPoint)
:Integer;
returns the range in hexes from Bpoint to EPoint
****************************************************************************} {This function will return the range in hexes between a starting hex
point and a ending hex point for a using application that calls it
procedure SaveHexMap(MapFileName : String);
****************************************************************************} { This function saves a created hex map and creates an INI file called
HexMap.Ini to store the information on the saved HexMap
Important Note: Since these bitmaps are not DIBs be sure to change
your screen resolution to 256 color or lower prior to editing a
grid map and saving it or the image file size will be way to large!
procedure Paint;
Make hexes look like buttons?
****************************************************************************} { This Function Draws the map
procedure DrawHexOutline(Target:TCanvas; { Canvas to draw hex on }
Linestyle : TPenStyle; { Wwhat kind of lines }
LineColor : Tcolor; { What color for lines }
x,y,radius: integer; { Position and size of Hex }
button : boolean);
Make hexes look like buttons?
****************************************************************************} {Hexagon Outline drawing function
procedure DrawSolidHex(Target:TCanvas; { Canvas to draw hex on }
Fillstyle : TBrushStyle; { How to fill the hex }
Fillcolor : TColor; { Color to fill it }
Linestyle : TPenStyle; { Wwhat kind of lines }
LineColor : Tcolor; { What color for lines }
x,y,radius: integer; { Position and size of Hex }
button : boolean);
****************************************************************************} {Solid Hexagon drawing function
function findrange(Bpoint:Tpoint;Epoint:TPoint):Integer;
Distance from center to top of hex, need to compute each} {Time the radius changes
Converts Row/Col to X/Y
procedure MakeBackMap;
****************************************************************************} { This function constructs the hex grid map with background
procedure MakeSolidMap;
****************************************************************************} { This function constructs the grid
procedure SetBackColor(Value: TColor);
*}
procedure SetBackGroundMap(Value: String);
*}
procedure SetHex3d(Value:Boolean);
*}
procedure SetHexColor(Value: TColor);
*}
procedure SetHexColumns(Value: Integer);
procedure SetHexGrid(Value: Boolean);
*}
procedure SetHexRadius(Value: Integer);
*}
procedure SetHexRows(Value: Integer);
*}
procedure SetHexShowLabels(Value:Boolean);
*}
procedure SetLineColor(Value: TColor);
*}
procedure SetSavedImage(Value:Boolean);
*}
procedure SetSolidHexMap(Value:Boolean);
****************************************************************************} { Hexmap Field Implementations } {
property Align :
Inherited properties
property BackColor : TColor
property DragCursor :
property DragMode :
property Enabled :
property Font :
property Hex3d : Boolean
property HexColor : TColor
property HexColumns : Integer
property HexRadius : Integer
property HexRows : Integer
property HexShowLabels : Boolean
property LineColor : TColor
property MapGridOn : Boolean
property MapImageName : String
property NoMapImage : Boolean
property PopupMenu :
property UseSavedMap : Boolean
property Visible :
event OnClick :
event OnDblClick :
event OnDragDrop :
event OnDragOver :
event OnEndDrag :
event OnMouseDown :
event OnMouseMove :
event OnMouseUp :
BitMap1 : TBitMap;
Used as a drawing surface, then copied to control
FBackColor : TColor;
Color of a Hexagon
FDrawSolidMap : Boolean;
Name of background map for canvas
FHex3d : Boolean;
Do we want the hex grid shown on the map?
FHexColor : TColor;
If true, hexes are shaded like buttons
FHexColumns : Integer;
Are we using a previously saved image
FHexMapName : String;
Color of lines used to draw a hexagon
FHexMapOn : Boolean;
If True, lables are displayed in a hex
FHexRadius : Integer;
Number of rows in the map
FHexRows : Integer;
Number of Columns in the map
FHexShowLabels : Boolean;
The radius of one hexagon
FLineColor : Tcolor;
Backround color of bitmap
FSavedImage : Boolean;
Rise : integer;
Used to store a background image
TempMap : TBitMap;
Make a solid color map