~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/packages/extra/univint/CGLayer.pas

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{ CoreGraphics - CGLayer.h
 
2
 * Copyright (c) 2004 Apple Computer, Inc.
 
3
 * All rights reserved.
 
4
 }
 
5
{       Pascal Translation:  Peter N Lewis, <peter@stairways.com.au>, August 2005 }
 
6
{
 
7
    Modified for use with Free Pascal
 
8
    Version 200
 
9
    Please report any bugs to <gpc@microbizz.nl>
 
10
}
 
11
 
 
12
{$mode macpas}
 
13
{$packenum 1}
 
14
{$macro on}
 
15
{$inline on}
 
16
{$CALLING MWPASCAL}
 
17
 
 
18
unit CGLayer;
 
19
interface
 
20
{$setc UNIVERSAL_INTERFACES_VERSION := $0342}
 
21
{$setc GAP_INTERFACES_VERSION := $0200}
 
22
 
 
23
{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
 
24
    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
 
25
{$endc}
 
26
 
 
27
{$ifc defined CPUPOWERPC and defined CPUI386}
 
28
        {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
 
29
{$endc}
 
30
{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
 
31
        {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
 
32
{$endc}
 
33
 
 
34
{$ifc not defined __ppc__ and defined CPUPOWERPC}
 
35
        {$setc __ppc__ := 1}
 
36
{$elsec}
 
37
        {$setc __ppc__ := 0}
 
38
{$endc}
 
39
{$ifc not defined __i386__ and defined CPUI386}
 
40
        {$setc __i386__ := 1}
 
41
{$elsec}
 
42
        {$setc __i386__ := 0}
 
43
{$endc}
 
44
 
 
45
{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
 
46
        {$error Conflicting definitions for __ppc__ and __i386__}
 
47
{$endc}
 
48
 
 
49
{$ifc defined __ppc__ and __ppc__}
 
50
        {$setc TARGET_CPU_PPC := TRUE}
 
51
        {$setc TARGET_CPU_X86 := FALSE}
 
52
{$elifc defined __i386__ and __i386__}
 
53
        {$setc TARGET_CPU_PPC := FALSE}
 
54
        {$setc TARGET_CPU_X86 := TRUE}
 
55
{$elsec}
 
56
        {$error Neither __ppc__ nor __i386__ is defined.}
 
57
{$endc}
 
58
{$setc TARGET_CPU_PPC_64 := FALSE}
 
59
 
 
60
{$ifc defined FPC_BIG_ENDIAN}
 
61
        {$setc TARGET_RT_BIG_ENDIAN := TRUE}
 
62
        {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
 
63
{$elifc defined FPC_LITTLE_ENDIAN}
 
64
        {$setc TARGET_RT_BIG_ENDIAN := FALSE}
 
65
        {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
 
66
{$elsec}
 
67
        {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
 
68
{$endc}
 
69
{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
 
70
{$setc CALL_NOT_IN_CARBON := FALSE}
 
71
{$setc OLDROUTINENAMES := FALSE}
 
72
{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
 
73
{$setc OPAQUE_UPP_TYPES := TRUE}
 
74
{$setc OTCARBONAPPLICATION := TRUE}
 
75
{$setc OTKERNEL := FALSE}
 
76
{$setc PM_USE_SESSION_APIS := TRUE}
 
77
{$setc TARGET_API_MAC_CARBON := TRUE}
 
78
{$setc TARGET_API_MAC_OS8 := FALSE}
 
79
{$setc TARGET_API_MAC_OSX := TRUE}
 
80
{$setc TARGET_CARBON := TRUE}
 
81
{$setc TARGET_CPU_68K := FALSE}
 
82
{$setc TARGET_CPU_MIPS := FALSE}
 
83
{$setc TARGET_CPU_SPARC := FALSE}
 
84
{$setc TARGET_OS_MAC := TRUE}
 
85
{$setc TARGET_OS_UNIX := FALSE}
 
86
{$setc TARGET_OS_WIN32 := FALSE}
 
87
{$setc TARGET_RT_MAC_68881 := FALSE}
 
88
{$setc TARGET_RT_MAC_CFM := FALSE}
 
89
{$setc TARGET_RT_MAC_MACHO := TRUE}
 
90
{$setc TYPED_FUNCTION_POINTERS := TRUE}
 
91
{$setc TYPE_BOOL := FALSE}
 
92
{$setc TYPE_EXTENDED := FALSE}
 
93
{$setc TYPE_LONGLONG := TRUE}
 
94
uses MacTypes,CFBase,CFDictionary,CGBase,CGGeometry,CGContext;
 
95
{$ALIGN POWER}
 
96
 
 
97
 
 
98
type
 
99
        CGLayerRef = ^SInt32; { an opaque 32-bit type }
 
100
 
 
101
 
 
102
{ Create a layer of size `size' relative to the context `context'. The
 
103
 * value of `size' is specified in default user space (base space) units.
 
104
 * If `size' is NULL, then the underlying size of `context' is used. The
 
105
 * parameter `auxiliaryInfo' should be NULL; it is reserved for future
 
106
 * expansion. }
 
107
 
 
108
function CGLayerCreateWithContext( context: CGContextRef; size: CGSize; auxiliaryInfo: CFDictionaryRef ): CGLayerRef; external name '_CGLayerCreateWithContext'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
109
 
 
110
{ Equivalent to `CFRetain(layer)', except it doesn't crash (as CFRetain
 
111
 * does) if `layer' is NULL. }
 
112
 
 
113
function CGLayerRetain( layer: CGLayerRef ): CGLayerRef; external name '_CGLayerRetain'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
114
 
 
115
{ Equivalent to `CFRelease(layer)', except it doesn't crash (as CFRelease
 
116
 * does) if `layer' is NULL. }
 
117
 
 
118
procedure CGLayerRelease( layer: CGLayerRef ); external name '_CGLayerRelease'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
119
 
 
120
{ Return the size of the layer `layer'. }
 
121
 
 
122
function CGLayerGetSize( layer: CGLayerRef ): CGSize; external name '_CGLayerGetSize'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
123
 
 
124
{ Return the context of `layer'. }
 
125
 
 
126
function CGLayerGetContext( layer: CGLayerRef ): CGContextRef; external name '_CGLayerGetContext'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
127
 
 
128
{ Draw the contents of `layer' into `rect' of `context'. The contents are
 
129
 * scaled, if necessary, to fit into `rect'; the rectangle `rect' is in
 
130
 * user space. }
 
131
 
 
132
procedure CGContextDrawLayerInRect( context: CGContextRef; rect: CGRect; layer: CGLayerRef ); external name '_CGContextDrawLayerInRect'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
133
 
 
134
{ Draw the contents of `layer' at `point' in `context'.  This is
 
135
 * equivalent to calling "CGContextDrawLayerInRect" with a rectangle having
 
136
 * origin at `point' and size equal to the size of `layer'. }
 
137
 
 
138
procedure CGContextDrawLayerAtPoint( context: CGContextRef; point: CGPoint; layer: CGLayerRef ); external name '_CGContextDrawLayerAtPoint'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
139
 
 
140
{ Return the CFTypeID for CGLayerRefs. }
 
141
 
 
142
function CGLayerGetTypeID: CFTypeID; external name '_CGLayerGetTypeID'; (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
143
 
 
144
 
 
145
end.