3DMAP 1.0
Submitted By:
Unknown
Rating:
(Not rated) (
Rate It)
'===========================================================================
'3DMAP 1.0
'Copyright (C) 1994 by Kerry B. Rogers
'All Rights Reserved
'===========================================================================
'The main purpose of 3DMAP is to show one method for manipulating graphics
'offscreen while accomplishing the rare ability of having "buttons" onscreen
'that are not restricted to four sides. Although slow, speed is not really
'noticable on a 486-66 (the intended platform).
'
'This type of screen is very useful for educational or demographic software
'(besides the fact that it IS appealing to look at.) I hope you enjoy the
'source code and - PLEASE - drop me a line on CompuServe at:
'
' Kerry Rogers 71514,735
'
'===========================================================================
OPTION Explicit
DECLARE FUNCTION ExtFloodFill% Lib "GDI" (BYVAL hDC%, BYVAL i%, BYVAL i%, BYVAL w&, BYVAL i%)
DECLARE FUNCTION GetPixel& Lib "GDI" (BYVAL hDC%, BYVAL X%, BYVAL Y%)
DECLARE FUNCTION BitBlt Lib "GDI" (BYVAL hDestDC%, BYVAL X%, BYVAL Y%, BYVAL nWidth%, BYVAL nHeight%, BYVAL hSrcDC%, BYVAL XSrc%, BYVAL YSrc%, BYVAL dwRop&) AS INTEGER
Global gsStateName$() 'Storage array for all state names
Global giaX%(), giaY%() 'Global Integer Array for static coords
Global gbMassUpdate% 'Flag indicating need to abort List_Click
Global giX%, giY% 'Global Integer to pass mouseclick x/y
Global CONST DARK_GRAY = &H808080
Global CONST LITE_GRAY = &HC0C0C0
Global CONST SHOWN_MAP = 0 'Used to swap Shown map
Global CONST HIDDEN_MAP = 1 'Used to swap Hidden map
Global CONST BACKUP_MAP = 2 'Used to swap Backup map
SUB Main ()
'===========================================================================
'3DMAP 1.0
'Copyright (C) 1994 by Kerry B. Rogers
'All Rights Reserved
'===========================================================================
'The map names and the coordinates for the pixel that is checked when
'determining a painted area are defined below.
'===========================================================================
DIM i%
SCREEN.MousePointer = 11 'Hourglass
REDIM gsStateName(0 TO 60), giaX(0 TO 60), giaY(0 TO 60)
gsStateName(0) = "Alabama": giaX(0) = 362: giaY(0) = 201
gsStateName(1) = "Alaska": giaX(1) = 79: giaY(1) = 247
gsStateName(2) = "Arizona": giaX(2) = 118: giaY(2) = 181
gsStateName(3) = "Arkansas": giaX(3) = 304: giaY(3) = 187
gsStateName(4) = "California": giaX(4) = 45: giaY(4) = 142
gsStateName(5) = "Colorado": giaX(5) = 179: giaY(5) = 139
gsStateName(6) = "Connecticut": giaX(6) = 468: giaY(6) = 83
gsStateName(7) = "D.C. (Washington)": giaX(7) = 484: giaY(7) = 143
gsStateName(8) = "Delaware": giaX(8) = 454: giaY(8) = 119
gsStateName(9) = "Florida": giaX(9) = 425: giaY(9) = 247
gsStateName(10) = "Georgia": giaX(10) = 393: giaY(10) = 195
gsStateName(11) = "Hawaii": giaX(11) = 146: giaY(11) = 280
gsStateName(12) = "Idaho": giaX(12) = 105: giaY(12) = 74
gsStateName(13) = "Illinois": giaX(13) = 328: giaY(13) = 124
gsStateName(14) = "Indiana": giaX(14) = 355: giaY(14) = 123
gsStateName(15) = "Iowa": giaX(15) = 289: giaY(15) = 105
gsStateName(16) = "Kansas": giaX(16) = 245: giaY(16) = 145
gsStateName(17) = "Kentucky": giaX(17) = 375: giaY(17) = 149
gsStateName(18) = "Louisiana": giaX(18) = 306: giaY(18) = 224
gsStateName(19) = "Maine": giaX(19) = 485: giaY(19) = 36
gsStateName(20) = "Maryland": giaX(20) = 438: giaY(20) = 119
gsStateName(21) = "Massachusettes": giaX(21) = 468: giaY(21) = 76
gsStateName(22) = "Michigan": giaX(22) = 361: giaY(22) = 86
gsStateName(23) = "Minnesota": giaX(23) = 276: giaY(23) = 60
gsStateName(24) = "Mississippi": giaX(24) = 334: giaY(24) = 207
gsStateName(25) = "Missouri": giaX(25) = 299: giaY(25) = 145
gsStateName(26) = "Montana": giaX(26) = 155: giaY(26) = 48
gsStateName(27) = "Nebraska": giaX(27) = 235: giaY(27) = 114
gsStateName(28) = "Nevada": giaX(28) = 78: giaY(28) = 125
gsStateName(29) = "New Hampshire": giaX(29) = 472: giaY(29) = 63
gsStateName(30) = "New Jersey": giaX(30) = 457: giaY(30) = 109
gsStateName(31) = "New Mexico": giaX(31) = 171: giaY(31) = 190
gsStateName(32) = "New York": giaX(32) = 447: giaY(32) = 73
gsStateName(33) = "North Carolina": giaX(33) = 431: giaY(33) = 161
gsStateName(34) = "North Dakota": giaX(34) = 228: giaY(34) = 47
gsStateName(35) = "Ohio": giaX(35) = 384: giaY(35) = 116
gsStateName(36) = "Oklahoma": giaX(36) = 255: giaY(36) = 181
gsStateName(37) = "Oregon": giaX(37) = 58: giaY(37) = 68
gsStateName(38) = "Pensylvania": giaX(38) = 427: giaY(38) = 101
gsStateName(39) = "Rhode Island": giaX(39) = 478: giaY(39) = 80
gsStateName(40) = "South Carolina": giaX(40) = 417: giaY(40) = 182
gsStateName(41) = "South Dakota": giaX(41) = 229: giaY(41) = 80
gsStateName(42) = "Tennessee": giaX(42) = 364: giaY(42) = 170
gsStateName(43) = "Texas": giaX(43) = 240: giaY(43) = 227
gsStateName(44) = "Utah": giaX(44) = 125: giaY(44) = 131
gsStateName(45) = "Vermont": giaX(45) = 462: giaY(45) = 57
gsStateName(46) = "Virginia": giaX(46) = 430: giaY(46) = 139
gsStateName(47) = "Washington": giaX(47) = 72: giaY(47) = 32
gsStateName(48) = "West Virginia": giaX(48) = 407: giaY(48) = 134
gsStateName(49) = "Wisconsin": giaX(49) = 319: giaY(49) = 78
gsStateName(50) = "Wyoming": giaX(50) = 166: giaY(50) = 94
gsStateName(51) = "Alaska": giaX(51) = 47: giaY(51) = 272
gsStateName(52) = "Alaska": giaX(52) = 40: giaY(52) = 273
gsStateName(53) = "Alaska": giaX(53) = 35: giaY(53) = 270
gsStateName(54) = "Alaska": giaX(54) = 29: giaY(54) = 268
gsStateName(55) = "D.C. (Washington)": giaX(55) = 479: giaY(55) = 146
gsStateName(56) = "Hawaii": giaX(56) = 139: giaY(56) = 274
gsStateName(57) = "Hawaii": giaX(57) = 132: giaY(57) = 270
gsStateName(58) = "Hawaii": giaX(58) = 124: giaY(58) = 266
gsStateName(59) = "Hawaii": giaX(59) = 115: giaY(59) = 268
gsStateName(60) = "Michigan": giaX(60) = 339: giaY(60) = 59
frmMapMain.Show
SCREEN.MousePointer = 0 'Normal
END SUB