summaryrefslogtreecommitdiff
path: root/packages/ptc/src/c_api/surfaced.inc
blob: 986de99d8eadbbaa02e32bcc42dd330fb072e58d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{ setup }
Function ptc_surface_create(width, height : Integer; format : TPTC_FORMAT) : TPTC_SURFACE;
Procedure ptc_surface_destroy(obj : TPTC_SURFACE);

{ copy to surface }
Procedure ptc_surface_copy(obj : TPTC_SURFACE; surface : TPTC_SURFACE);
Procedure ptc_surface_copy_area(obj : TPTC_SURFACE; surface : TPTC_SURFACE; source, destination : TPTC_AREA);

{ memory access }
Function ptc_surface_lock(obj : TPTC_SURFACE) : Pointer;
Procedure ptc_surface_unlock(obj : TPTC_SURFACE);

{ load pixels to surface }
Procedure ptc_surface_load(obj : TPTC_SURFACE; pixels : Pointer; width, height, pitch : Integer; format : TPTC_FORMAT; palette : TPTC_PALETTE);
Procedure ptc_surface_load_area(obj : TPTC_SURFACE; pixels : Pointer; width, height, pitch : Integer; format : TPTC_FORMAT; palette : TPTC_PALETTE; source, destination : TPTC_AREA);

{ save surface pixels }
Procedure ptc_surface_save(obj : TPTC_SURFACE; pixels : Pointer; width, height, pitch : Integer; format : TPTC_FORMAT; palette : TPTC_PALETTE);
Procedure ptc_surface_save_area(obj : TPTC_SURFACE; pixels : Pointer; width, height, pitch : Integer; format : TPTC_FORMAT; palette : TPTC_PALETTE; source, destination : TPTC_AREA);

{ clear surface }
Procedure ptc_surface_clear(obj : TPTC_SURFACE);
Procedure ptc_surface_clear_color(obj : TPTC_SURFACE; color : TPTC_COLOR);
Procedure ptc_surface_clear_color_area(obj : TPTC_SURFACE; color : TPTC_COLOR; area : TPTC_AREA);

{ surface palette }
Procedure ptc_surface_palette_set(obj : TPTC_SURFACE; palette : TPTC_PALETTE);
Function ptc_surface_palette_get(obj : TPTC_SURFACE) : TPTC_PALETTE;

{ surface clip area }
Procedure ptc_surface_clip_set(obj : TPTC_SURFACE; area : TPTC_AREA);

{ data access }
Function ptc_surface_width(obj : TPTC_SURFACE) : Integer;
Function ptc_surface_height(obj : TPTC_SURFACE) : Integer;
Function ptc_surface_pitch(obj : TPTC_SURFACE) : Integer;
Function ptc_surface_area(obj : TPTC_SURFACE) : TPTC_AREA;
Function ptc_surface_clip(obj : TPTC_SURFACE) : TPTC_AREA;
Function ptc_surface_format(obj : TPTC_SURFACE) : TPTC_FORMAT;

{ surface option string }
Function ptc_surface_option(obj : TPTC_SURFACE; _option : String) : Boolean;