surface.inc 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. Function ptc_surface_create(width, height : Integer; format : TPTC_FORMAT) : TPTC_SURFACE;
  2. Begin
  3. Try
  4. ptc_surface_create := TPTC_SURFACE(TPTCSurface.Create(width, height, TPTCFormat(format)));
  5. Except
  6. On error : TPTCError Do
  7. Begin
  8. ptc_exception_handle(error);
  9. ptc_surface_create := Nil;
  10. End;
  11. End;
  12. End;
  13. Procedure ptc_surface_destroy(obj : TPTC_SURFACE);
  14. Begin
  15. If obj = Nil Then
  16. Exit;
  17. Try
  18. TPTCBaseSurface(obj).Destroy;
  19. Except
  20. On error : TPTCError Do
  21. ptc_exception_handle(error);
  22. End;
  23. End;
  24. Procedure ptc_surface_copy(obj : TPTC_SURFACE; surface : TPTC_SURFACE);
  25. Begin
  26. Try
  27. TPTCBaseSurface(obj).copy(TPTCBaseSurface(surface));
  28. Except
  29. On error : TPTCError Do
  30. ptc_exception_handle(error);
  31. End;
  32. End;
  33. Procedure ptc_surface_copy_area(obj : TPTC_SURFACE; surface : TPTC_SURFACE; source, destination : TPTC_AREA);
  34. Begin
  35. Try
  36. TPTCBaseSurface(obj).copy(TPTCBaseSurface(surface), TPTCArea(source), TPTCArea(destination));
  37. Except
  38. On error : TPTCError Do
  39. ptc_exception_handle(error);
  40. End;
  41. End;
  42. Function ptc_surface_lock(obj : TPTC_SURFACE) : Pointer;
  43. Begin
  44. Try
  45. ptc_surface_lock := TPTCBaseSurface(obj).lock;
  46. Except
  47. On error : TPTCError Do
  48. Begin
  49. ptc_exception_handle(error);
  50. ptc_surface_lock := Nil;
  51. End;
  52. End;
  53. End;
  54. Procedure ptc_surface_unlock(obj : TPTC_SURFACE);
  55. Begin
  56. Try
  57. TPTCBaseSurface(obj).unlock;
  58. Except
  59. On error : TPTCError Do
  60. ptc_exception_handle(error);
  61. End;
  62. End;
  63. Procedure ptc_surface_load(obj : TPTC_SURFACE; pixels : Pointer; width, height, pitch : Integer; format : TPTC_FORMAT; palette : TPTC_PALETTE);
  64. Begin
  65. Try
  66. TPTCBaseSurface(obj).load(pixels, width, height, pitch, TPTCFormat(format), TPTCPalette(palette));
  67. Except
  68. On error : TPTCError Do
  69. ptc_exception_handle(error);
  70. End;
  71. End;
  72. Procedure ptc_surface_load_area(obj : TPTC_SURFACE; pixels : Pointer; width, height, pitch : Integer; format : TPTC_FORMAT; palette : TPTC_PALETTE; source, destination : TPTC_AREA);
  73. Begin
  74. Try
  75. TPTCBaseSurface(obj).load(pixels, width, height, pitch, TPTCFormat(format), TPTCPalette(palette), TPTCArea(source), TPTCArea(destination));
  76. Except
  77. On error : TPTCError Do
  78. ptc_exception_handle(error);
  79. End;
  80. End;
  81. Procedure ptc_surface_save(obj : TPTC_SURFACE; pixels : Pointer; width, height, pitch : Integer; format : TPTC_FORMAT; palette : TPTC_PALETTE);
  82. Begin
  83. Try
  84. TPTCBaseSurface(obj).save(pixels, width, height, pitch, TPTCFormat(format), TPTCPalette(palette));
  85. Except
  86. On error : TPTCError Do
  87. ptc_exception_handle(error);
  88. End;
  89. End;
  90. Procedure ptc_surface_save_area(obj : TPTC_SURFACE; pixels : Pointer; width, height, pitch : Integer; format : TPTC_FORMAT; palette : TPTC_PALETTE; source, destination : TPTC_AREA);
  91. Begin
  92. Try
  93. TPTCBaseSurface(obj).save(pixels, width, height, pitch, TPTCFormat(format), TPTCPalette(palette), TPTCArea(source), TPTCArea(destination));
  94. Except
  95. On error : TPTCError Do
  96. ptc_exception_handle(error);
  97. End;
  98. End;
  99. Procedure ptc_surface_clear(obj : TPTC_SURFACE);
  100. Begin
  101. Try
  102. TPTCBaseSurface(obj).clear;
  103. Except
  104. On error : TPTCError Do
  105. ptc_exception_handle(error);
  106. End;
  107. End;
  108. Procedure ptc_surface_clear_color(obj : TPTC_SURFACE; color : TPTC_COLOR);
  109. Begin
  110. Try
  111. TPTCBaseSurface(obj).clear(TPTCColor(color));
  112. Except
  113. On error : TPTCError Do
  114. ptc_exception_handle(error);
  115. End;
  116. End;
  117. Procedure ptc_surface_clear_color_area(obj : TPTC_SURFACE; color : TPTC_COLOR; area : TPTC_AREA);
  118. Begin
  119. Try
  120. TPTCBaseSurface(obj).clear(TPTCColor(color), TPTCArea(area));
  121. Except
  122. On error : TPTCError Do
  123. ptc_exception_handle(error);
  124. End;
  125. End;
  126. Procedure ptc_surface_palette_set(obj : TPTC_SURFACE; palette : TPTC_PALETTE);
  127. Begin
  128. Try
  129. TPTCBaseSurface(obj).palette(TPTCPalette(palette));
  130. Except
  131. On error : TPTCError Do
  132. ptc_exception_handle(error);
  133. End;
  134. End;
  135. Function ptc_surface_palette_get(obj : TPTC_SURFACE) : TPTC_PALETTE;
  136. Begin
  137. Try
  138. ptc_surface_palette_get := TPTC_PALETTE(TPTCBaseSurface(obj).palette);
  139. Except
  140. On error : TPTCError Do
  141. Begin
  142. ptc_exception_handle(error);
  143. ptc_surface_palette_get := Nil;
  144. End;
  145. End;
  146. End;
  147. Procedure ptc_surface_clip_set(obj : TPTC_SURFACE; area : TPTC_AREA);
  148. Begin
  149. Try
  150. TPTCBaseSurface(obj).clip(TPTCArea(area));
  151. Except
  152. On error : TPTCError Do
  153. ptc_exception_handle(error);
  154. End;
  155. End;
  156. Function ptc_surface_width(obj : TPTC_SURFACE) : Integer;
  157. Begin
  158. Try
  159. ptc_surface_width := TPTCBaseSurface(obj).width;
  160. Except
  161. On error : TPTCError Do
  162. Begin
  163. ptc_exception_handle(error);
  164. ptc_surface_width := 0;
  165. End;
  166. End;
  167. End;
  168. Function ptc_surface_height(obj : TPTC_SURFACE) : Integer;
  169. Begin
  170. Try
  171. ptc_surface_height := TPTCBaseSurface(obj).height;
  172. Except
  173. On error : TPTCError Do
  174. Begin
  175. ptc_exception_handle(error);
  176. ptc_surface_height := 0;
  177. End;
  178. End;
  179. End;
  180. Function ptc_surface_pitch(obj : TPTC_SURFACE) : Integer;
  181. Begin
  182. Try
  183. ptc_surface_pitch := TPTCBaseSurface(obj).pitch;
  184. Except
  185. On error : TPTCError Do
  186. Begin
  187. ptc_exception_handle(error);
  188. ptc_surface_pitch := 0;
  189. End;
  190. End;
  191. End;
  192. Function ptc_surface_area(obj : TPTC_SURFACE) : TPTC_AREA;
  193. Begin
  194. Try
  195. ptc_surface_area := TPTC_AREA(TPTCBaseSurface(obj).area);
  196. Except
  197. On error : TPTCError Do
  198. Begin
  199. ptc_exception_handle(error);
  200. ptc_surface_area := Nil;
  201. End;
  202. End;
  203. End;
  204. Function ptc_surface_clip(obj : TPTC_SURFACE) : TPTC_AREA;
  205. Begin
  206. Try
  207. ptc_surface_clip := TPTC_AREA(TPTCBaseSurface(obj).clip);
  208. Except
  209. On error : TPTCError Do
  210. Begin
  211. ptc_exception_handle(error);
  212. ptc_surface_clip := Nil;
  213. End;
  214. End;
  215. End;
  216. Function ptc_surface_format(obj : TPTC_SURFACE) : TPTC_FORMAT;
  217. Begin
  218. Try
  219. ptc_surface_format := TPTC_FORMAT(TPTCBaseSurface(obj).format);
  220. Except
  221. On error : TPTCError Do
  222. Begin
  223. ptc_exception_handle(error);
  224. ptc_surface_format := Nil;
  225. End;
  226. End;
  227. End;
  228. Function ptc_surface_option(obj : TPTC_SURFACE; _option : String) : Boolean;
  229. Begin
  230. Try
  231. ptc_surface_option := TPTCBaseSurface(obj).option(_option);
  232. Except
  233. On error : TPTCError Do
  234. Begin
  235. ptc_exception_handle(error);
  236. ptc_surface_option := False;
  237. End;
  238. End;
  239. End;