GuiTypes.pas
上传用户:ctlcnc
上传日期:2021-12-10
资源大小:4933k
文件大小:5k
源码类别:

2D图形编程

开发平台:

Delphi

  1. unit GuiTypes;
  2. //---------------------------------------------------------------------------
  3. // GuiTypes.pas                                         Modified: 03-Mar-2007
  4. // The basic definitions for Asphyre GUI foundation               Version 1.1
  5. //---------------------------------------------------------------------------
  6. // Important Notice:
  7. //
  8. // If you modify/use this code or one of its parts either in original or
  9. // modified form, you must comply with Mozilla Public License v1.1,
  10. // specifically section 3, "Distribution Obligations". Failure to do so will
  11. // result in the license breach, which will be resolved in the court.
  12. // Remember that violating author's rights is considered a serious crime in
  13. // many countries. Thank you!
  14. //
  15. // !! Please *read* Mozilla Public License 1.1 document located at:
  16. //  http://www.mozilla.org/MPL/
  17. //
  18. // If you require any clarifications about the license, feel free to contact
  19. // us or post your question on our forums at: http://www.afterwarp.net
  20. //---------------------------------------------------------------------------
  21. // The contents of this file are subject to the Mozilla Public License
  22. // Version 1.1 (the "License"); you may not use this file except in
  23. // compliance with the License. You may obtain a copy of the License at
  24. // http://www.mozilla.org/MPL/
  25. //
  26. // Software distributed under the License is distributed on an "AS IS"
  27. // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
  28. // License for the specific language governing rights and limitations
  29. // under the License.
  30. //
  31. // The Original Code is GuiTypes.pas.
  32. //
  33. // The Initial Developer of the Original Code is M. Sc. Yuriy Kotsarenko.
  34. // Portions created by M. Sc. Yuriy Kotsarenko are Copyright (C) 2007,
  35. // Afterwarp Interactive. All Rights Reserved.
  36. //---------------------------------------------------------------------------
  37. interface
  38. //---------------------------------------------------------------------------
  39. {$include Asphyre4.inc}
  40. //---------------------------------------------------------------------------
  41. uses
  42.  Types, SysUtils, Vectors2px, AsphyreTypes, AsphyreDevices, AsphyreCanvas,
  43.  AsphyreImages, AsphyreFonts, AsphyreXML, AsphyreAsserts
  44.  {$IFDEF DebugMode}, AsphyreDebug{$ENDIF};
  45. //---------------------------------------------------------------------------
  46. const
  47.  msgGuiNoUseDevice = 'GuiUseDevice() method has not been called properly.';
  48. //---------------------------------------------------------------------------
  49. type
  50.  TMouseEventType = (metDown, metUp, metMove, metClick, metDblClick, metEnter,
  51.   metLeave);
  52. //---------------------------------------------------------------------------
  53.  TMouseButtonType = (mbtUnknown, mbtLeft, mbtRight, mbtMiddle);
  54. //---------------------------------------------------------------------------
  55.  TKeyEventType = (ketDown, ketUp, ketPress);
  56. //---------------------------------------------------------------------------
  57.  TSpecialKeyState = set of (sksShift, sksCtrl, sksAlt);
  58. //---------------------------------------------------------------------------
  59.  TGuiMouseEvent = procedure(Sender: TObject; const Pos: TPoint2px;
  60.   Event: TMouseEventType; Button: TMouseButtonType;
  61.   SpecialKeys: TSpecialKeyState) of object;
  62. //---------------------------------------------------------------------------
  63.  TGuiKeyEvent = procedure(Sender: TObject; Key: Integer;
  64.   Event: TKeyEventType; SpecialKeys: TSpecialKeyState) of object;
  65. //---------------------------------------------------------------------------
  66.  TGuiDataType = (gdtUnknown, gdtInteger, gdtCardinal, gdtReal, gdtString,
  67.   gdtPoint, gdtRect, gdtColor, gdtColor2, gdtSkin, gdtHAlign, gdtVAlign,
  68.   gdtFontOpt, gdtFontColor, gdtBoolean);
  69. //---------------------------------------------------------------------------
  70. var
  71.  GuiDevice: TAsphyreDevice = nil;
  72.  GuiCanvas: TAsphyreCanvas = nil;
  73.  GuiImages: TAsphyreImages = nil;
  74.  GuiFonts : TAsphyreFonts = nil;
  75. //---------------------------------------------------------------------------
  76. procedure GuiUseDevice(Device: TAsphyreDevice);
  77. //---------------------------------------------------------------------------
  78. implementation
  79. //---------------------------------------------------------------------------
  80. uses
  81.  AsphyreEffects, MediaUtils, GuiUtils;
  82. //---------------------------------------------------------------------------
  83. procedure GuiUseDevice(Device: TAsphyreDevice);
  84. begin
  85.  GuiDevice:= Device;
  86.  GuiCanvas:= Device.Canvas;
  87.  GuiImages:= Device.Images;
  88.  GuiFonts := Device.Fonts;
  89. end;
  90. //---------------------------------------------------------------------------
  91. end.