summaryrefslogtreecommitdiff
path: root/packages/ptc/src/basesurfaced.inc
blob: 84d4dd2986710eca122e1ebc0ca16e9b0e6793cf (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
    Free Pascal port of the OpenPTC C++ library.
    Copyright (C) 2001-2003  Nikolay Nikolov (nickysn@users.sourceforge.net)
    Original C++ version by Glenn Fiedler (ptc@gaffer.org)

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
}

Type
  TPTCBaseSurface=Class(TObject)
  Private
    Function GetWidth : Integer; Virtual; Abstract;
    Function GetHeight : Integer; Virtual; Abstract;
    Function GetPitch : Integer; Virtual; Abstract;
    Function GetArea : TPTCArea; Virtual; Abstract;
    Function GetFormat : TPTCFormat; Virtual; Abstract;
  Public
    Procedure Copy(Var ASurface : TPTCBaseSurface); Virtual; Abstract;
    Procedure Copy(Var ASurface : TPTCBaseSurface;
                   Const ASource, ADestination : TPTCArea); Virtual; Abstract;
    Function Lock : Pointer; Virtual; Abstract;
    Procedure Unlock; Virtual; Abstract;
    Procedure Load(Const APixels : Pointer;
                   AWidth, AHeight, APitch : Integer;
                   Const AFormat : TPTCFormat;
                   Const APalette : TPTCPalette); Virtual; Abstract;
    Procedure Load(Const APixels : Pointer;
                   AWidth, AHeight, APitch : Integer;
                   Const AFormat : TPTCFormat;
                   Const APalette : TPTCPalette;
                   Const ASource, ADestination : TPTCArea); Virtual; Abstract;
    Procedure Save(APixels : Pointer;
                   AWidth, AHeight, APitch : Integer;
                   Const AFormat : TPTCFormat;
                   Const APalette : TPTCPalette); Virtual; Abstract;
    Procedure Save(APixels : Pointer;
                   AWidth, AHeight, APitch : Integer;
                   Const AFormat : TPTCFormat;
                   Const APalette : TPTCPalette;
                   Const ASource, ADestination : TPTCArea); Virtual; Abstract;
    Procedure Clear; Virtual; Abstract;
    Procedure Clear(Const AColor : TPTCColor); Virtual; Abstract;
    Procedure Clear(Const AColor : TPTCColor;
                    Const AArea : TPTCArea); Virtual; Abstract;
    Procedure Palette(Const APalette : TPTCPalette); Virtual; Abstract;
    Procedure Clip(Const AArea : TPTCArea); Virtual; Abstract;
    Function Option(Const AOption : String) : Boolean; Virtual; Abstract;
    Function Clip : TPTCArea; Virtual; Abstract;
    Function Palette : TPTCPalette; Virtual; Abstract;
    Property Width : Integer Read GetWidth;
    Property Height : Integer Read GetHeight;
    Property Pitch : Integer Read GetPitch;
    Property Area : TPTCArea Read GetArea;
    Property Format : TPTCFormat Read GetFormat;
  End;