summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/cocoaint/src/appkit/NSProgressIndicator.inc
blob: f77ae0dfdfd5f32f5b4dfdb1c69de94e1e1502e6 (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{ Parsed from Appkit.framework NSProgressIndicator.h }

{$ifdef TYPES}
{$ifndef NSPROGRESSINDICATOR_PAS_T}
{$define NSPROGRESSINDICATOR_PAS_T}

{ Types }
type
  __NSProgressIndicatorThreadInfo = record end;
  _NSProgressIndicatorThreadInfo = __NSProgressIndicatorThreadInfo;
  _NSProgressIndicatorThreadInfoPtr = ^_NSProgressIndicatorThreadInfo;
  NSProgressIndicatorThickness = NSUInteger;
  NSProgressIndicatorThicknessPtr = ^NSProgressIndicatorThickness;
  NSProgressIndicatorStyle = NSUInteger;
  NSProgressIndicatorStylePtr = ^NSProgressIndicatorStyle;

{ Constants }

const
  NSProgressIndicatorPreferredThickness = 14;
  NSProgressIndicatorPreferredSmallThickness = 10;
  NSProgressIndicatorPreferredLargeThickness = 18;
  NSProgressIndicatorPreferredAquaThickness = 12;

const
  NSProgressIndicatorBarStyle = 0;
  NSProgressIndicatorSpinningStyle = 1;

{$endif}
{$endif}

{$ifdef RECORDS}
{$ifndef NSPROGRESSINDICATOR_PAS_R}
{$define NSPROGRESSINDICATOR_PAS_R}

{$endif}
{$endif}

{$ifdef FUNCTIONS}
{$ifndef NSPROGRESSINDICATOR_PAS_F}
{$define NSPROGRESSINDICATOR_PAS_F}

{$endif}
{$endif}

{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSPROGRESSINDICATOR_PAS_S}
{$define NSPROGRESSINDICATOR_PAS_S}

{$endif}
{$endif}

{$ifdef FORWARD}
  NSProgressIndicator = objcclass;
  NSProgressIndicatorPointer = ^NSProgressIndicator;
  NSProgressIndicatorPtr = NSProgressIndicatorPointer;

{$endif}

{$ifdef CLASSES}
{$ifndef NSPROGRESSINDICATOR_PAS_C}
{$define NSPROGRESSINDICATOR_PAS_C}

{ NSProgressIndicator }
  NSProgressIndicator = objcclass external (NSView)
  private
    _isBezeled: Boolean;
    _isIndeterminate: Boolean;
    _threadedAnimation: Boolean;
    _minimum: double;
    _maximum: double;
    _value: double;
    _animationIndex: cint;
    _animationDelay: NSTimeInterval;
    _timer: id;
    _drawingWidth: CGFloat;
    _roundColor: id;
    _reserved: id;
     {garbage collector: volatile }
    __progressIndicatorFlags: record
      case byte of
       0: (_anonbitfield_NSProgressIndicator0: cuint);
       1: (data: bitpacked record
        isSpinning: 0..1;
        isVector: 0..1;
        isLocked: 0..1;
        _controlTint: 0..((1 shl 3)-1);
        _controlSize: 0..((1 shl 2)-1);
        _style: 0..1;
        _delayedStartup: 0..1;
        _orderOutForResize: 0..1;
        hideWhenStopped: 0..1;
        revive: 0..1;
        _temporarilyBlockHeartBeating: 0..1;
        _isHidden: 0..1;
        _isHeartBeatInstalled: 0..1;
        _lastFrame: 0..((1 shl 8)-1);
        RESERVED: 0..((1 shl 8)-1);
       end;
      );
      end;
    _NSProgressIndicatorReserved1: id;
    
  public
    function isIndeterminate: Boolean; message 'isIndeterminate';
    procedure setIndeterminate(flag: Boolean); message 'setIndeterminate:';
    function isBezeled: Boolean; message 'isBezeled';
    procedure setBezeled(flag: Boolean); message 'setBezeled:';
    function controlTint: NSControlTint; message 'controlTint';
    procedure setControlTint(tint: NSControlTint); message 'setControlTint:';
    function controlSize: NSControlSize; message 'controlSize';
    procedure setControlSize(size: NSControlSize); message 'setControlSize:';
    function doubleValue: double; message 'doubleValue';
    procedure setDoubleValue(doubleValue_: double); message 'setDoubleValue:';
    procedure incrementBy(delta: double); message 'incrementBy:';
    function minValue: double; message 'minValue';
    function maxValue: double; message 'maxValue';
    procedure setMinValue(newMinimum: double); message 'setMinValue:';
    procedure setMaxValue(newMaximum: double); message 'setMaxValue:';
    function usesThreadedAnimation: Boolean; message 'usesThreadedAnimation';
    procedure setUsesThreadedAnimation(threadedAnimation: Boolean); message 'setUsesThreadedAnimation:';
    procedure startAnimation(sender: id); message 'startAnimation:';
    procedure stopAnimation(sender: id); message 'stopAnimation:';
    procedure setStyle(style_: NSProgressIndicatorStyle); message 'setStyle:';
    function style: NSProgressIndicatorStyle; message 'style';
    procedure sizeToFit; message 'sizeToFit';
    function isDisplayedWhenStopped: Boolean; message 'isDisplayedWhenStopped';
    procedure setDisplayedWhenStopped(isDisplayed: Boolean); message 'setDisplayedWhenStopped:';
  end;

{ NSProgressIndicatorDeprecatedCategory }
  NSProgressIndicatorDeprecatedCategory = objccategory external (NSProgressIndicator)
    function animationDelay: NSTimeInterval; message 'animationDelay'; deprecated 'in Mac OS X 10.6 and later';
    procedure setAnimationDelay(delay: NSTimeInterval); message 'setAnimationDelay:'; deprecated 'in Mac OS X 10.6 and later';
    procedure animate(sender: id); message 'animate:'; deprecated 'in Mac OS X 10.6 and later';
  end;

{$endif}
{$endif}