home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 November / Chip_2002-11_cd1.bin / zkuste / delphi / kompon / d456 / CAJSCRPT.ZIP / ifps3 / ifpiir_graphics.pas < prev    next >
Pascal/Delphi Source File  |  2002-07-12  |  4KB  |  129 lines

  1. unit ifpiir_graphics;
  2. {$I ifps3_def.inc}
  3. interface
  4. uses
  5.   ifps3, ifps3common, ifps3utl, ifpiclassruntime;
  6.  
  7. {
  8.   Will register files from:
  9.     Graphics
  10.  
  11.  
  12. Register the STD library first
  13.  
  14. }
  15.  
  16. procedure RIRegisterTGRAPHICSOBJECT(Cl: TIFPSRuntimeClassImporter);
  17. procedure RIRegisterTFont(Cl: TIFPSRuntimeClassImporter);
  18. procedure RIRegisterTPEN(Cl: TIFPSRuntimeClassImporter);
  19. procedure RIRegisterTBRUSH(Cl: TIFPSRuntimeClassImporter);
  20. procedure RIRegisterTCanvas(cl: TIFPSRuntimeClassImporter);
  21.  
  22.  
  23. procedure RIRegister_Graphics(Cl: TIFPSRuntimeClassImporter);
  24.  
  25.  
  26. implementation
  27. uses
  28.   Classes{$IFDEF CLX}, QGraphics{$ELSE}, Graphics{$ENDIF};
  29. {$IFNDEF CLX}
  30. procedure TFontHandleR(Self: TFont; var T: Longint); begin T := Self.Handle; end;
  31. procedure TFontHandleW(Self: TFont; T: Longint); begin Self.Handle := T; end;
  32. {$ENDIF}
  33. procedure TFontPixelsPerInchR(Self: TFont; var T: Longint); begin T := Self.PixelsPerInch; end;
  34. procedure TFontPixelsPerInchW(Self: TFont; T: Longint); begin Self.PixelsPerInch:= T; end;
  35.  
  36. procedure RIRegisterTFont(Cl: TIFPSRuntimeClassImporter);
  37. begin
  38.   with Cl.Add(TFont) do
  39.   begin
  40.     RegisterConstructor(@TFont.Create, 'CREATE');
  41. {$IFNDEF CLX}
  42.     RegisterPropertyHelper(@TFontHandleR, @TFontHandleW, 'HANDLE');
  43. {$ENDIF}
  44.     RegisterPropertyHelper(@TFontPixelsPerInchR, @TFontPixelsPerInchW, 'PIXELSPERINCH');
  45.   end;
  46. end;
  47. {$IFNDEF CLX}
  48. procedure TCanvasHandleR(Self: TCanvas; var T: Longint); begin T := Self.Handle; end;
  49. procedure TCanvasHandleW(Self: TCanvas; T: Longint); begin Self.Handle:= T; end;
  50. {$ENDIF}
  51.  
  52. procedure TCanvasPixelsR(Self: TCanvas; var T: Longint; X,Y: Longint); begin T := Self.Pixels[X,Y]; end;
  53. procedure TCanvasPixelsW(Self: TCanvas; T, X, Y: Longint); begin Self.Pixels[X,Y]:= T; end;
  54.  
  55. procedure RIRegisterTCanvas(cl: TIFPSRuntimeClassImporter); // requires TPersistent
  56. begin
  57.   with Cl.Add(TCanvas) do
  58.   begin
  59.     RegisterMethod(@TCanvas.Arc, 'ARC');
  60.     RegisterMethod(@TCanvas.Chord, 'CHORD');
  61.     RegisterMethod(@TCanvas.Draw, 'DRAW');
  62.     RegisterMethod(@TCanvas.Ellipse, 'ELLIPSE');
  63. {$IFNDEF CLX}
  64.     RegisterMethod(@TCanvas.FloodFill, 'FLOODFILL');
  65. {$ENDIF}
  66.     RegisterMethod(@TCanvas.Lineto, 'LINETO');
  67.     RegisterMethod(@TCanvas.Moveto, 'MOVETO');
  68.     RegisterMethod(@TCanvas.Pie, 'PIE');
  69.     RegisterMethod(@TCanvas.Rectangle, 'RECTANGLE');
  70.     RegisterMethod(@TCanvas.Refresh, 'REFRESH');
  71.     RegisterMethod(@TCanvas.RoundRect, 'ROUNDRECT');
  72.     RegisterMethod(@TCanvas.TextHeight, 'TEXTHEIGHT');
  73.     RegisterMethod(@TCanvas.TextOut, 'TEXTOUT');
  74.     RegisterMethod(@TCanvas.TextWidth, 'TEXTWIDTH');
  75. {$IFNDEF CLX}
  76.     RegisterPropertyHelper(@TCanvasHandleR, @TCanvasHandleW, 'HANDLE');
  77. {$ENDIF}
  78.     RegisterPropertyHelper(@TCanvasPixelsR, @TCanvasPixelsW, 'PIXELS');
  79.   end;
  80. end;
  81.  
  82.  
  83. procedure TGRAPHICSOBJECTONCHANGE_W(Self: TGraphicsObject; T: TNotifyEvent); begin Self.OnChange := t; end;
  84. procedure TGRAPHICSOBJECTONCHANGE_R(Self: TGraphicsObject; var T: TNotifyEvent); begin T :=Self.OnChange; end;
  85.  
  86.  
  87. procedure RIRegisterTGRAPHICSOBJECT(Cl: TIFPSRuntimeClassImporter);
  88. begin
  89.   with Cl.Add(TGRAPHICSOBJECT) do
  90.   begin
  91.     RegisterPropertyHelper(@TGRAPHICSOBJECTONCHANGE_R, @TGRAPHICSOBJECTONCHANGE_W, 'ONCHANGE');
  92.   end;
  93. end;
  94.  
  95. procedure RIRegisterTPEN(Cl: TIFPSRuntimeClassImporter);
  96. begin
  97.   with Cl.Add(TPEN) do
  98.   begin
  99.     RegisterConstructor(@TPEN.CREATE, 'CREATE');
  100.   end;
  101. end;
  102.  
  103. procedure RIRegisterTBRUSH(Cl: TIFPSRuntimeClassImporter);
  104. begin
  105.   with Cl.Add(TBRUSH) do
  106.   begin
  107.     RegisterConstructor(@TBRUSH.CREATE, 'CREATE');
  108.   end;
  109. end;
  110.  
  111.  
  112.  
  113. procedure RIRegister_Graphics(Cl: TIFPSRuntimeClassImporter);
  114. begin
  115.   RIRegisterTGRAPHICSOBJECT(cl);
  116.   RIRegisterTFont(Cl);
  117.   RIRegisterTCanvas(cl);
  118.   RIRegisterTPEN(cl);
  119.   RIRegisterTBRUSH(cl);
  120. end;
  121. // MiniVCL changes by Martijn Laan (mlaan at wintax _dot_ nl)
  122.  
  123. end.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.