home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 6_2008-2009.ISO / data / zips / A_3D_Pie_D2143942152009.psc / 3DPieDriveInformation / modGDIPlus.bas < prev   
BASIC Source File  |  2009-02-01  |  12KB  |  292 lines

  1. Attribute VB_Name = "ModuleGDIPlus"
  2. Option Explicit
  3. '********************************************
  4. '*     Thanks to Avery P. & Dana Seaman     *
  5. '*           for GDI+ Declarations          *
  6. '*                and samples               *
  7. '********************************************
  8. '*         Assembled by GioRock 2009        *
  9. '********************************************
  10.  
  11. ' NOTE: Enums evaluate to a Long
  12. Public Enum GpStatus
  13.    Ok = 0
  14.    GenericError = 1
  15.    InvalidParameter = 2
  16.    OutOfMemory = 3
  17.    ObjectBusy = 4
  18.    InsufficientBuffer = 5
  19.    NotImplemented = 6
  20.    Win32Error = 7
  21.    WrongState = 8
  22.    Aborted = 9
  23.    FileNotFound = 10
  24.    ValueOverflow = 11
  25.    AccessDenied = 12
  26.    UnknownImageFormat = 13
  27.    FontFamilyNotFound = 14
  28.    FontStyleNotFound = 15
  29.    NotTrueTypeFont = 16
  30.    UnsupportedGdiplusVersion = 17
  31.    GdiplusNotInitialized = 18
  32.    PropertyNotFound = 19
  33.    PropertyNotSupported = 20
  34. End Enum
  35.  
  36. Public Type GdiplusStartupInput
  37.    GdiplusVersion As Long              ' Must be 1 for GDI+ v1.0, the current version as of this writing.
  38.    DebugEventCallback As Long          ' Ignored on free builds
  39.    SuppressBackgroundThread As Long    ' FALSE unless you're prepared to call
  40.                                        ' the hook/unhook functions properly
  41.    SuppressExternalCodecs As Long      ' FALSE unless you want GDI+ only to use
  42.                                        ' its internal image codecs.
  43. End Type
  44. Public Declare Function GdiplusStartup Lib "gdiplus" (token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As GpStatus
  45. Public Declare Sub GdiplusShutdown Lib "gdiplus" (ByVal token As Long)
  46.  
  47. Public Type POINTL
  48.     X As Long
  49.     Y As Long
  50. End Type
  51. Public Type RECTF
  52.    Left As Single
  53.    Top As Single
  54.    Right As Single
  55.    Bottom As Single
  56. End Type
  57.  
  58. Public Declare Function GdipCreateFromHDC Lib "gdiplus" (ByVal hDC As Long, graphics As Long) As GpStatus
  59. Public Declare Function GdipDeleteGraphics Lib "gdiplus" (ByVal graphics As Long) As GpStatus
  60.  
  61. ' Quality mode constants
  62. Public Enum QualityMode
  63.    QualityModeInvalid = -1
  64.    QualityModeDefault = 0
  65.    QualityModeLow = 1       ' Best performance
  66.    QualityModeHigh = 2      ' Best rendering quality
  67. End Enum
  68. ' Alpha Compositing quality constants
  69. Public Enum CompositingQuality
  70.    CompositingQualityInvalid = QualityModeInvalid
  71.    CompositingQualityDefault = QualityModeDefault
  72.    CompositingQualityHighSpeed = QualityModeLow
  73.    CompositingQualityHighQuality = QualityModeHigh
  74.    CompositingQualityGammaCorrected
  75.    CompositingQualityAssumeLinear
  76. End Enum
  77. Public Declare Function GdipSetCompositingQuality Lib "gdiplus" (ByVal graphics As Long, ByVal CompositingQlty As CompositingQuality) As GpStatus
  78.  
  79. Public Enum SmoothingMode
  80.    SmoothingModeInvalid = QualityModeInvalid
  81.    SmoothingModeDefault = QualityModeDefault
  82.    SmoothingModeHighSpeed = QualityModeLow
  83.    SmoothingModeHighQuality = QualityModeHigh
  84.    SmoothingModeNone
  85.    SmoothingModeAntiAlias
  86. End Enum
  87. Public Declare Function GdipSetSmoothingMode Lib "gdiplus" (ByVal graphics As Long, ByVal SmoothingMd As SmoothingMode) As GpStatus
  88.  
  89. ' Various wrap modes for brushes
  90. Public Enum WrapMode
  91.    WrapModeTile         ' 0
  92.    WrapModeTileFlipX    ' 1
  93.    WrapModeTileFlipY    ' 2
  94.    WrapModeTileFlipXY   ' 3
  95.    WrapModeClamp        ' 4
  96. End Enum
  97. Public Declare Function GdipCreateLineBrushI Lib "gdiplus" (point1 As POINTL, point2 As POINTL, ByVal color1 As Colors, ByVal color2 As Colors, ByVal WrapMd As WrapMode, lineGradient As Long) As GpStatus
  98. Public Declare Function GdipFillEllipseI Lib "gdiplus" (ByVal graphics As Long, ByVal brush As Long, ByVal X As Long, ByVal Y As Long, ByVal Width As Long, ByVal Height As Long) As GpStatus
  99. Public Declare Function GdipDeleteBrush Lib "gdiplus" (ByVal brush As Long) As GpStatus
  100.  
  101. Public Declare Function GdipCreateBitmapFromHBITMAP Lib "gdiplus" (ByVal hbm As Long, ByVal hPal As Long, bitmap As Long) As GpStatus
  102.  
  103. Public Enum FillMode
  104.    FillModeAlternate        ' 0
  105.    FillModeWinding          ' 1
  106. End Enum
  107. ' Region Comine Modes
  108. Public Enum CombineMode
  109.    CombineModeReplace      ' 0
  110.    CombineModeIntersect    ' 1
  111.    CombineModeUnion        ' 2
  112.    CombineModeXor          ' 3
  113.    CombineModeExclude      ' 4
  114.    CombineModeComplement   ' 5 (Exclude From)
  115. End Enum
  116. Public Enum GpUnit
  117.    UnitWorld      ' 0 -- World coordinate (non-physical unit)
  118.    UnitDisplay    ' 1 -- Variable -- for PageTransform only
  119.    UnitPixel      ' 2 -- Each unit is one device pixel.
  120.    UnitPoint      ' 3 -- Each unit is a printer's point, or 1/72 inch.
  121.    UnitInch       ' 4 -- Each unit is 1 inch.
  122.    UnitDocument   ' 5 -- Each unit is 1/300 inch.
  123.    UnitMillimeter ' 6 -- Each unit is 1 millimeter.
  124. End Enum
  125. Public Declare Function GdipCreatePath Lib "gdiplus" (ByVal brushmode As FillMode, path As Long) As GpStatus
  126. Public Declare Function GdipCreateSolidFill Lib "gdiplus" (ByVal argb As Long, brush As Long) As GpStatus
  127. Public Declare Function GdipAddPathPolygonI Lib "gdiplus" (ByVal path As Long, Points As POINTL, ByVal count As Long) As GpStatus
  128. Public Declare Function GdipCreateRegionPath Lib "gdiplus" (ByVal path As Long, region As Long) As GpStatus
  129. Public Declare Function GdipSetClipRegion Lib "gdiplus" (ByVal graphics As Long, ByVal region As Long, ByVal CombineMd As CombineMode) As GpStatus
  130. Public Declare Function GdipCreatePen1 Lib "gdiplus" (ByVal color As Long, ByVal Width As Single, ByVal unit As GpUnit, pen As Long) As GpStatus
  131. Public Declare Function GdipDrawPath Lib "gdiplus" (ByVal graphics As Long, ByVal pen As Long, ByVal path As Long) As GpStatus
  132. Public Declare Function GdipDrawImageI Lib "gdiplus" (ByVal graphics As Long, ByVal Image As Long, ByVal X As Long, ByVal Y As Long) As GpStatus
  133. Public Declare Function GdipDisposeImage Lib "gdiplus" (ByVal Image As Long) As GpStatus
  134. Public Declare Function GdipDeletePen Lib "gdiplus" (ByVal pen As Long) As GpStatus
  135. Public Declare Function GdipDeletePath Lib "gdiplus" (ByVal path As Long) As GpStatus
  136. Public Declare Function GdipDeleteRegion Lib "gdiplus" (ByVal region As Long) As GpStatus
  137.  
  138. Public Declare Function GdipCreateFontFamilyFromName Lib "gdiplus" (ByVal name As String, ByVal fontCollection As Long, fontFamily As Long) As GpStatus
  139. Public Declare Function GdipDeleteFontFamily Lib "gdiplus" (ByVal fontFamily As Long) As GpStatus
  140. ' FontStyle: face types and common styles
  141. Public Enum FontStyle
  142.    FontStyleRegular = 0
  143.    FontStyleBold = 1
  144.    FontStyleItalic = 2
  145.    FontStyleBoldItalic = 3
  146.    FontStyleUnderline = 4
  147.    FontStyleStrikeout = 8
  148. End Enum
  149. Public Declare Function GdipCreateFont Lib "gdiplus" (ByVal fontFamily As Long, ByVal emSize As Single, ByVal style As FontStyle, ByVal unit As GpUnit, createdfont As Long) As GpStatus
  150. Public Declare Function GdipDeleteFont Lib "gdiplus" (ByVal curFont As Long) As GpStatus
  151. Public Enum TextRenderingHint
  152.    TextRenderingHintSystemDefault = 0            ' Glyph with system default rendering hint
  153.    TextRenderingHintSingleBitPerPixelGridFit     ' Glyph bitmap with hinting
  154.    TextRenderingHintSingleBitPerPixel            ' Glyph bitmap without hinting
  155.    TextRenderingHintAntiAliasGridFit             ' Glyph anti-alias bitmap with hinting
  156.    TextRenderingHintAntiAlias                    ' Glyph anti-alias bitmap without hinting
  157.    TextRenderingHintClearTypeGridFit             ' Glyph CT bitmap with hinting
  158. End Enum
  159. Public Declare Function GdipSetTextRenderingHint Lib "gdiplus" (ByVal graphics As Long, ByVal mode As TextRenderingHint) As GpStatus
  160. Public Declare Function GdipDrawString Lib "gdiplus" (ByVal graphics As Long, ByVal str As String, ByVal length As Long, ByVal thefont As Long, layoutRect As RECTF, ByVal StringFormat As Long, ByVal brush As Long) As GpStatus
  161. Public Declare Function GdipMeasureString Lib "gdiplus" (ByVal graphics As Long, ByVal str As String, ByVal length As Long, ByVal thefont As Long, layoutRect As RECTF, ByVal StringFormat As Long, boundingBox As RECTF, codepointsFitted As Long, linesFilled As Long) As GpStatus
  162.  
  163. ' Common color constants
  164. Public Enum Colors
  165.    AliceBlue = &HFFF0F8FF
  166.    AntiqueWhite = &HFFFAEBD7
  167.    Aqua = &HFF00FFFF
  168.    Aquamarine = &HFF7FFFD4
  169.    Azure = &HFFF0FFFF
  170.    Beige = &HFFF5F5DC
  171.    Bisque = &HFFFFE4C4
  172.    Black = &HFF000000
  173.    BlanchedAlmond = &HFFFFEBCD
  174.    Blue = &HFF0000FF
  175.    BlueViolet = &HFF8A2BE2
  176.    Brown = &HFFA52A2A
  177.    BurlyWood = &HFFDEB887
  178.    CadetBlue = &HFF5F9EA0
  179.    Chartreuse = &HFF7FFF00
  180.    Chocolate = &HFFD2691E
  181.    Coral = &HFFFF7F50
  182.    CornflowerBlue = &HFF6495ED
  183.    Cornsilk = &HFFFFF8DC
  184.    Crimson = &HFFDC143C
  185.    Cyan = &HFF00FFFF
  186.    DarkBlue = &HFF00008B
  187.    DarkCyan = &HFF008B8B
  188.    DarkGoldenrod = &HFFB8860B
  189.    DarkGray = &HFFA9A9A9
  190.    DarkGreen = &HFF006400
  191.    DarkKhaki = &HFFBDB76B
  192.    DarkMagenta = &HFF8B008B
  193.    DarkOliveGreen = &HFF556B2F
  194.    DarkOrange = &HFFFF8C00
  195.    DarkOrchid = &HFF9932CC
  196.    DarkRed = &HFF8B0000
  197.    DarkSalmon = &HFFE9967A
  198.    DarkSeaGreen = &HFF8FBC8B
  199.    DarkSlateBlue = &HFF483D8B
  200.    DarkSlateGray = &HFF2F4F4F
  201.    DarkTurquoise = &HFF00CED1
  202.    DarkViolet = &HFF9400D3
  203.    DeepPink = &HFFFF1493
  204.    DeepSkyBlue = &HFF00BFFF
  205.    DimGray = &HFF696969
  206.    DodgerBlue = &HFF1E90FF
  207.    Firebrick = &HFFB22222
  208.    FloralWhite = &HFFFFFAF0
  209.    ForestGreen = &HFF228B22
  210.    Fuchsia = &HFFFF00FF
  211.    Gainsboro = &HFFDCDCDC
  212.    GhostWhite = &HFFF8F8FF
  213.    Gold = &HFFFFD700
  214.    Goldenrod = &HFFDAA520
  215.    Gray = &HFF808080
  216.    Green = &HFF008000
  217.    GreenYellow = &HFFADFF2F
  218.    Honeydew = &HFFF0FFF0
  219.    HotPink = &HFFFF69B4
  220.    IndianRed = &HFFCD5C5C
  221.    Indigo = &HFF4B0082
  222.    Ivory = &HFFFFFFF0
  223.    Khaki = &HFFF0E68C
  224.    Lavender = &HFFE6E6FA
  225.    LavenderBlush = &HFFFFF0F5
  226.    LawnGreen = &HFF7CFC00
  227.    LemonChiffon = &HFFFFFACD
  228.    LightBlue = &HFFADD8E6
  229.    LightCoral = &HFFF08080
  230.    LightCyan = &HFFE0FFFF
  231.    LightGoldenrodYellow = &HFFFAFAD2
  232.    LightGray = &HFFD3D3D3
  233.    LightGreen = &HFF90EE90
  234.    LightPink = &HFFFFB6C1
  235.    LightSalmon = &HFFFFA07A
  236.    LightSeaGreen = &HFF20B2AA
  237.    LightSkyBlue = &HFF87CEFA
  238.    LightSlateGray = &HFF778899
  239.    LightSteelBlue = &HFFB0C4DE
  240.    LightYellow = &HFFFFFFE0
  241.    Lime = &HFF00FF00
  242.    LimeGreen = &HFF32CD32
  243.    Linen = &HFFFAF0E6
  244.    Magenta = &HFFFF00FF
  245.    Maroon = &HFF800000
  246.    MediumAquamarine = &HFF66CDAA
  247.    MediumBlue = &HFF0000CD
  248.    MediumOrchid = &HFFBA55D3
  249.    MediumPurple = &HFF9370DB
  250.    MediumSeaGreen = &HFF3CB371
  251.    MediumSlateBlue = &HFF7B68EE
  252.    MediumSpringGreen = &HFF00FA9A
  253.    MediumTurquoise = &HFF48D1CC
  254.    MediumVioletRed = &HFFC71585
  255.    MidnightBlue = &HFF191970
  256.    MintCream = &HFFF5FFFA
  257.    MistyRose = &HFFFFE4E1
  258.    Moccasin = &HFFFFE4B5
  259.    NavajoWhite = &HFFFFDEAD
  260.    Navy = &HFF000080
  261.    OldLace = &HFFFDF5E6
  262.    Olive = &HFF808000
  263.    OliveDrab = &HFF6B8E23
  264.    Orange = &HFFFFA500
  265.    OrangeRed = &HFFFF4500
  266.    Orchid = &HFFDA70D6
  267.    PaleGoldenrod = &HFFEEE8AA
  268.    PaleGreen = &HFF98FB98
  269.    PaleTurquoise = &HFFAFEEEE
  270.    PaleVioletRed = &HFFDB7093
  271.    PapayaWhip = &HFFFFEFD5
  272.    PeachPuff = &HFFFFDAB9
  273.    Peru = &HFFCD853F
  274.    Pink = &HFFFFC0CB
  275.    Plum = &HFFDDA0DD
  276.    PowderBlue = &HFFB0E0E6
  277.    Purple = &HFF800080
  278.    Red = &HFFFF0000
  279.    RosyBrown = &HFFBC8F8F
  280.    RoyalBlue = &HFF4169E1
  281.    SaddleBrown = &HFF8B4513
  282.    Salmon = &HFFFA8072
  283.    SandyBrown = &HFFF4A460
  284.    SeaGreen = &HFF2E8B57
  285.    SeaShell = &HFFFFF5EE
  286.    SienmD3D3D3eFA807en =ds bitmap  Sa&HFF00a0uncalmon = &H = i00FFFBd7EE
  287.    StcxF800080
  288.    Red = &HFFFF0000
  289.   i0on = &HFFFFBd7EEeCFC00
  290.  a  i0on = &HFFFFBd7EEeCFC00xFFFBing Lib "gdiplusidT&HFFBA55D3
  291.    MeidT&HFFd7Eem = &HFF"rple = & gSmH tm=od = &HFFEE imED6
  292. R gS