comparison dstep/quartzcore/CALayer.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children f8a3b67adfcb
comparison
equal deleted inserted replaced
15:7ff919f595d5 16:19885b43130e
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Sep 24, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.quartzcore.CALayer;
8
9 import dstep.applicationservices.coregraphics.CGAffineTransform;
10 import dstep.applicationservices.coregraphics.CGBase;
11 import dstep.applicationservices.coregraphics.CGColor;
12 import dstep.applicationservices.coregraphics.CGContext;
13 import dstep.applicationservices.coregraphics.CGGeometry;
14 import dstep.foundation.NSArray;
15 import dstep.foundation.NSCoder;
16 import dstep.foundation.NSDictionary;
17 import dstep.foundation.NSEnumerator;
18 import dstep.foundation.NSObject;
19 import dstep.foundation.NSString;
20 import dstep.objc.bridge.Bridge;
21 import dstep.objc.objc;
22 import dstep.quartzcore.CAAnimation;
23 import dstep.quartzcore.CAConstraintLayoutManager;
24 import dstep.quartzcore.CAMediaTiming;
25 import dstep.quartzcore.CAScrollLayer;
26 import dstep.quartzcore.CATransform3D;
27
28 import bindings = dstep.quartzcore.CALayer_bindings;
29
30 private
31 {
32 NSString kCAGravityCenter_;
33 NSString kCAGravityTop_;
34 NSString kCAGravityBottom_;
35 NSString kCAGravityLeft_;
36 NSString kCAGravityRight_;
37 NSString kCAGravityTopLeft_;
38 NSString kCAGravityTopRight_;
39 NSString kCAGravityBottomLeft_;
40 NSString kCAGravityBottomRight_;
41 NSString kCAGravityResize_;
42 NSString kCAGravityResizeAspect_;
43 NSString kCAGravityResizeAspectFill_;
44 NSString kCAFilterLinear_;
45 NSString kCAFilterNearest_;
46 NSString kCAOnOrderIn_;
47 NSString kCAOnOrderOut_;
48 NSString kCATransition_;
49 }
50
51 NSString kCAGravityCenter ()
52 {
53 if (kCAGravityCenter_)
54 return kCAGravityCenter_;
55
56 return kCAGravityCenter_ = new NSString(bindings.kCAGravityCenter);
57 }
58
59 NSString kCAGravityTop ()
60 {
61 if (kCAGravityTop_)
62 return kCAGravityTop_;
63
64 return kCAGravityTop_ = new NSString(bindings.kCAGravityTop);
65 }
66
67 NSString kCAGravityBottom ()
68 {
69 if (kCAGravityBottom_)
70 return kCAGravityBottom_;
71
72 return kCAGravityBottom_ = new NSString(bindings.kCAGravityBottom);
73 }
74
75 NSString kCAGravityLeft ()
76 {
77 if (kCAGravityLeft_)
78 return kCAGravityLeft_;
79
80 return kCAGravityLeft_ = new NSString(bindings.kCAGravityLeft);
81 }
82
83 NSString kCAGravityRight ()
84 {
85 if (kCAGravityRight_)
86 return kCAGravityRight_;
87
88 return kCAGravityRight_ = new NSString(bindings.kCAGravityRight);
89 }
90
91 NSString kCAGravityTopLeft ()
92 {
93 if (kCAGravityTopLeft_)
94 return kCAGravityTopLeft_;
95
96 return kCAGravityTopLeft_ = new NSString(bindings.kCAGravityTopLeft);
97 }
98
99 NSString kCAGravityTopRight ()
100 {
101 if (kCAGravityTopRight_)
102 return kCAGravityTopRight_;
103
104 return kCAGravityTopRight_ = new NSString(bindings.kCAGravityTopRight);
105 }
106
107 NSString kCAGravityBottomLeft ()
108 {
109 if (kCAGravityBottomLeft_)
110 return kCAGravityBottomLeft_;
111
112 return kCAGravityBottomLeft_ = new NSString(bindings.kCAGravityBottomLeft);
113 }
114
115 NSString kCAGravityBottomRight ()
116 {
117 if (kCAGravityBottomRight_)
118 return kCAGravityBottomRight_;
119
120 return kCAGravityBottomRight_ = new NSString(bindings.kCAGravityBottomRight);
121 }
122
123 NSString kCAGravityResize ()
124 {
125 if (kCAGravityResize_)
126 return kCAGravityResize_;
127
128 return kCAGravityResize_ = new NSString(bindings.kCAGravityResize);
129 }
130
131 NSString kCAGravityResizeAspect ()
132 {
133 if (kCAGravityResizeAspect_)
134 return kCAGravityResizeAspect_;
135
136 return kCAGravityResizeAspect_ = new NSString(bindings.kCAGravityResizeAspect);
137 }
138
139 NSString kCAGravityResizeAspectFill ()
140 {
141 if (kCAGravityResizeAspectFill_)
142 return kCAGravityResizeAspectFill_;
143
144 return kCAGravityResizeAspectFill_ = new NSString(bindings.kCAGravityResizeAspectFill);
145 }
146
147 NSString kCAFilterLinear ()
148 {
149 if (kCAFilterLinear_)
150 return kCAFilterLinear_;
151
152 return kCAFilterLinear_ = new NSString(bindings.kCAFilterLinear);
153 }
154
155 NSString kCAFilterNearest ()
156 {
157 if (kCAFilterNearest_)
158 return kCAFilterNearest_;
159
160 return kCAFilterNearest_ = new NSString(bindings.kCAFilterNearest);
161 }
162
163 NSString kCAOnOrderIn ()
164 {
165 if (kCAOnOrderIn_)
166 return kCAOnOrderIn_;
167
168 return kCAOnOrderIn_ = new NSString(bindings.kCAOnOrderIn);
169 }
170
171 NSString kCAOnOrderOut ()
172 {
173 if (kCAOnOrderOut_)
174 return kCAOnOrderOut_;
175
176 return kCAOnOrderOut_ = new NSString(bindings.kCAOnOrderOut);
177 }
178
179 NSString kCATransition ()
180 {
181 if (kCATransition_)
182 return kCATransition_;
183
184 return kCATransition_ = new NSString(bindings.kCATransition);
185 }
186
187 enum CAAutoresizingMask
188
189 {
190 kCALayerNotSizable = 0,
191 kCALayerMinXMargin = 1U << 0,
192 kCALayerWidthSizable = 1U << 1,
193 kCALayerMaxXMargin = 1U << 2,
194 kCALayerMinYMargin = 1U << 3,
195 kCALayerHeightSizable = 1U << 4,
196 kCALayerMaxYMargin = 1U << 5
197 }
198
199 enum CAEdgeAntialiasingMask
200
201 {
202 kCALayerLeftEdge = 1U << 0,
203 kCALayerRightEdge = 1U << 1,
204 kCALayerBottomEdge = 1U << 2,
205 kCALayerTopEdge = 1U << 3
206 }
207
208 class CALayer : NSObject, INSCoding, ICAMediaTiming
209 {
210 mixin (ObjcWrap);
211
212 void encodeWithCoder (NSCoder aCoder)
213 {
214 return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder);
215 }
216
217 CALayer initWithCoder (NSCoder aDecoder)
218 {
219 return invokeObjcSelf!(CALayer, "initWithCoder:", NSCoder)(aDecoder);
220 }
221
222 static Object layer ()
223 {
224 return invokeObjcSelfClass!(Object, "layer");
225 }
226
227 CALayer init ()
228 {
229 id result = invokeObjcSelf!(id, "init");
230 return result is this.objcObject ? this : (result !is null ? new CALayer(result) : null);
231 }
232
233 this ()
234 {
235 super(CALayer.alloc.init.objcObject);
236 }
237
238 CALayer initWithLayer (Object layer)
239 {
240 id result = invokeObjcSelf!(id, "initWithLayer:", Object)(layer);
241 return result is this.objcObject ? this : (result !is null ? new CALayer(result) : null);
242 }
243
244 this (Object layer)
245 {
246 super(CALayer.alloc.initWithLayer(layer).objcObject);
247 }
248
249 Object presentationLayer ()
250 {
251 return invokeObjcSelf!(Object, "presentationLayer");
252 }
253
254 Object modelLayer ()
255 {
256 return invokeObjcSelf!(Object, "modelLayer");
257 }
258
259 static Object defaultValueForKey (NSString key)
260 {
261 return invokeObjcSelfClass!(Object, "defaultValueForKey:", NSString)(key);
262 }
263
264 bool shouldArchiveValueForKey (NSString key)
265 {
266 return invokeObjcSelf!(bool, "shouldArchiveValueForKey:", NSString)(key);
267 }
268
269 CGRect bounds ()
270 {
271 return invokeObjcSelf!(CGRect, "bounds");
272 }
273
274 void setBounds (CGRect arg0)
275 {
276 return invokeObjcSelf!(void, "setBounds:", CGRect)(arg0);
277 }
278
279 CGPoint position ()
280 {
281 return invokeObjcSelf!(CGPoint, "position");
282 }
283
284 void setPosition (CGPoint arg0)
285 {
286 return invokeObjcSelf!(void, "setPosition:", CGPoint)(arg0);
287 }
288
289 CGFloat zPosition ()
290 {
291 return invokeObjcSelf!(CGFloat, "zPosition");
292 }
293
294 void setZPosition (CGFloat arg0)
295 {
296 return invokeObjcSelf!(void, "setZPosition:", CGFloat)(arg0);
297 }
298
299 CGPoint anchorPoint ()
300 {
301 return invokeObjcSelf!(CGPoint, "anchorPoint");
302 }
303
304 void setAnchorPoint (CGPoint arg0)
305 {
306 return invokeObjcSelf!(void, "setAnchorPoint:", CGPoint)(arg0);
307 }
308
309 CATransform3D transform ()
310 {
311 return invokeObjcSelf!(CATransform3D, "transform");
312 }
313
314 void setTransform (CATransform3D arg0)
315 {
316 return invokeObjcSelf!(void, "setTransform:", CATransform3D)(arg0);
317 }
318
319 CGAffineTransform affineTransform ()
320 {
321 return invokeObjcSelf!(CGAffineTransform, "affineTransform");
322 }
323
324 void setAffineTransform (CGAffineTransform m)
325 {
326 return invokeObjcSelf!(void, "setAffineTransform:", CGAffineTransform)(m);
327 }
328
329 CGRect frame ()
330 {
331 return invokeObjcSelf!(CGRect, "frame");
332 }
333
334 void setFrame (CGRect arg0)
335 {
336 return invokeObjcSelf!(void, "setFrame:", CGRect)(arg0);
337 }
338
339 bool isHidden ()
340 {
341 return invokeObjcSelf!(bool, "isHidden");
342 }
343
344 void setHidden (bool arg0)
345 {
346 return invokeObjcSelf!(void, "setHidden:", bool)(arg0);
347 }
348
349 bool isDoubleSided ()
350 {
351 return invokeObjcSelf!(bool, "isDoubleSided");
352 }
353
354 void setDoubleSided (bool arg0)
355 {
356 return invokeObjcSelf!(void, "setDoubleSided:", bool)(arg0);
357 }
358
359 void removeFromSuperlayer ()
360 {
361 return invokeObjcSelf!(void, "removeFromSuperlayer");
362 }
363
364 void addSublayer (CALayer layer)
365 {
366 return invokeObjcSelf!(void, "addSublayer:", CALayer)(layer);
367 }
368
369 void insertSublayer (CALayer layer, uint idx)
370 {
371 return invokeObjcSelf!(void, "insertSublayer:atIndex:", CALayer, uint)(layer, idx);
372 }
373
374 void insertSublayer (CALayer layer, CALayer sibling)
375 {
376 return invokeObjcSelf!(void, "insertSublayer:below:", CALayer, CALayer)(layer, sibling);
377 }
378
379 void insertSublayer (CALayer layer, CALayer sibling)
380 {
381 return invokeObjcSelf!(void, "insertSublayer:above:", CALayer, CALayer)(layer, sibling);
382 }
383
384 void replaceSublayer (CALayer layer, CALayer layer2)
385 {
386 return invokeObjcSelf!(void, "replaceSublayer:with:", CALayer, CALayer)(layer, layer2);
387 }
388
389 CATransform3D sublayerTransform ()
390 {
391 return invokeObjcSelf!(CATransform3D, "sublayerTransform");
392 }
393
394 void setSublayerTransform (CATransform3D arg0)
395 {
396 return invokeObjcSelf!(void, "setSublayerTransform:", CATransform3D)(arg0);
397 }
398
399 bool masksToBounds ()
400 {
401 return invokeObjcSelf!(bool, "masksToBounds");
402 }
403
404 void setMasksToBounds (bool arg0)
405 {
406 return invokeObjcSelf!(void, "setMasksToBounds:", bool)(arg0);
407 }
408
409 CGPoint convertPoint (CGPoint p, CALayer l)
410 {
411 return invokeObjcSelf!(CGPoint, "convertPoint:fromLayer:", CGPoint, CALayer)(p, l);
412 }
413
414 CGPoint convertPoint (CGPoint p, CALayer l)
415 {
416 return invokeObjcSelf!(CGPoint, "convertPoint:toLayer:", CGPoint, CALayer)(p, l);
417 }
418
419 CGRect convertRect (CGRect r, CALayer l)
420 {
421 return invokeObjcSelf!(CGRect, "convertRect:fromLayer:", CGRect, CALayer)(r, l);
422 }
423
424 CGRect convertRect (CGRect r, CALayer l)
425 {
426 return invokeObjcSelf!(CGRect, "convertRect:toLayer:", CGRect, CALayer)(r, l);
427 }
428
429 double convertTime (double t, CALayer l)
430 {
431 return invokeObjcSelf!(double, "convertTime:fromLayer:", double, CALayer)(t, l);
432 }
433
434 double convertTime (double t, CALayer l)
435 {
436 return invokeObjcSelf!(double, "convertTime:toLayer:", double, CALayer)(t, l);
437 }
438
439 CALayer hitTest (CGPoint p)
440 {
441 id result = invokeObjcSelf!(id, "hitTest:", CGPoint)(p);
442 return result is this.objcObject ? this : (result !is null ? new CALayer(result) : null);
443 }
444
445 bool containsPoint (CGPoint p)
446 {
447 return invokeObjcSelf!(bool, "containsPoint:", CGPoint)(p);
448 }
449
450 Object contents ()
451 {
452 return invokeObjcSelf!(Object, "contents");
453 }
454
455 void setContents (Object arg0)
456 {
457 return invokeObjcSelf!(void, "setContents:", Object)(arg0);
458 }
459
460 CGRect contentsRect ()
461 {
462 return invokeObjcSelf!(CGRect, "contentsRect");
463 }
464
465 void setContentsRect (CGRect arg0)
466 {
467 return invokeObjcSelf!(void, "setContentsRect:", CGRect)(arg0);
468 }
469
470 bool isOpaque ()
471 {
472 return invokeObjcSelf!(bool, "isOpaque");
473 }
474
475 void setOpaque (bool arg0)
476 {
477 return invokeObjcSelf!(void, "setOpaque:", bool)(arg0);
478 }
479
480 void display ()
481 {
482 return invokeObjcSelf!(void, "display");
483 }
484
485 void setNeedsDisplay ()
486 {
487 return invokeObjcSelf!(void, "setNeedsDisplay");
488 }
489
490 void setNeedsDisplayInRect (CGRect r)
491 {
492 return invokeObjcSelf!(void, "setNeedsDisplayInRect:", CGRect)(r);
493 }
494
495 bool needsDisplayOnBoundsChange ()
496 {
497 return invokeObjcSelf!(bool, "needsDisplayOnBoundsChange");
498 }
499
500 void setNeedsDisplayOnBoundsChange (bool arg0)
501 {
502 return invokeObjcSelf!(void, "setNeedsDisplayOnBoundsChange:", bool)(arg0);
503 }
504
505 void drawInContext (CGContextRef ctx)
506 {
507 return invokeObjcSelf!(void, "drawInContext:", CGContextRef)(ctx);
508 }
509
510 void renderInContext (CGContextRef ctx)
511 {
512 return invokeObjcSelf!(void, "renderInContext:", CGContextRef)(ctx);
513 }
514
515 uint edgeAntialiasingMask ()
516 {
517 return invokeObjcSelf!(uint, "edgeAntialiasingMask");
518 }
519
520 void setEdgeAntialiasingMask (uint arg0)
521 {
522 return invokeObjcSelf!(void, "setEdgeAntialiasingMask:", uint)(arg0);
523 }
524
525 CGColorRef backgroundColor ()
526 {
527 return invokeObjcSelf!(CGColorRef, "backgroundColor");
528 }
529
530 void setBackgroundColor (CGColorRef arg0)
531 {
532 return invokeObjcSelf!(void, "setBackgroundColor:", CGColorRef)(arg0);
533 }
534
535 CGFloat cornerRadius ()
536 {
537 return invokeObjcSelf!(CGFloat, "cornerRadius");
538 }
539
540 void setCornerRadius (CGFloat arg0)
541 {
542 return invokeObjcSelf!(void, "setCornerRadius:", CGFloat)(arg0);
543 }
544
545 CGFloat borderWidth ()
546 {
547 return invokeObjcSelf!(CGFloat, "borderWidth");
548 }
549
550 void setBorderWidth (CGFloat arg0)
551 {
552 return invokeObjcSelf!(void, "setBorderWidth:", CGFloat)(arg0);
553 }
554
555 CGColorRef borderColor ()
556 {
557 return invokeObjcSelf!(CGColorRef, "borderColor");
558 }
559
560 void setBorderColor (CGColorRef arg0)
561 {
562 return invokeObjcSelf!(void, "setBorderColor:", CGColorRef)(arg0);
563 }
564
565 float opacity ()
566 {
567 return invokeObjcSelf!(float, "opacity");
568 }
569
570 void setOpacity (float arg0)
571 {
572 return invokeObjcSelf!(void, "setOpacity:", float)(arg0);
573 }
574
575 Object compositingFilter ()
576 {
577 return invokeObjcSelf!(Object, "compositingFilter");
578 }
579
580 void setCompositingFilter (Object arg0)
581 {
582 return invokeObjcSelf!(void, "setCompositingFilter:", Object)(arg0);
583 }
584
585 CGColorRef shadowColor ()
586 {
587 return invokeObjcSelf!(CGColorRef, "shadowColor");
588 }
589
590 void setShadowColor (CGColorRef arg0)
591 {
592 return invokeObjcSelf!(void, "setShadowColor:", CGColorRef)(arg0);
593 }
594
595 float shadowOpacity ()
596 {
597 return invokeObjcSelf!(float, "shadowOpacity");
598 }
599
600 void setShadowOpacity (float arg0)
601 {
602 return invokeObjcSelf!(void, "setShadowOpacity:", float)(arg0);
603 }
604
605 CGSize shadowOffset ()
606 {
607 return invokeObjcSelf!(CGSize, "shadowOffset");
608 }
609
610 void setShadowOffset (CGSize arg0)
611 {
612 return invokeObjcSelf!(void, "setShadowOffset:", CGSize)(arg0);
613 }
614
615 CGFloat shadowRadius ()
616 {
617 return invokeObjcSelf!(CGFloat, "shadowRadius");
618 }
619
620 void setShadowRadius (CGFloat arg0)
621 {
622 return invokeObjcSelf!(void, "setShadowRadius:", CGFloat)(arg0);
623 }
624
625 uint autoresizingMask ()
626 {
627 return invokeObjcSelf!(uint, "autoresizingMask");
628 }
629
630 void setAutoresizingMask (uint arg0)
631 {
632 return invokeObjcSelf!(void, "setAutoresizingMask:", uint)(arg0);
633 }
634
635 Object layoutManager ()
636 {
637 return invokeObjcSelf!(Object, "layoutManager");
638 }
639
640 void setLayoutManager (Object arg0)
641 {
642 return invokeObjcSelf!(void, "setLayoutManager:", Object)(arg0);
643 }
644
645 CGSize preferredFrameSize ()
646 {
647 return invokeObjcSelf!(CGSize, "preferredFrameSize");
648 }
649
650 void setNeedsLayout ()
651 {
652 return invokeObjcSelf!(void, "setNeedsLayout");
653 }
654
655 void layoutIfNeeded ()
656 {
657 return invokeObjcSelf!(void, "layoutIfNeeded");
658 }
659
660 void layoutSublayers ()
661 {
662 return invokeObjcSelf!(void, "layoutSublayers");
663 }
664
665 void resizeSublayersWithOldSize (CGSize size)
666 {
667 return invokeObjcSelf!(void, "resizeSublayersWithOldSize:", CGSize)(size);
668 }
669
670 void resizeWithOldSuperlayerSize (CGSize size)
671 {
672 return invokeObjcSelf!(void, "resizeWithOldSuperlayerSize:", CGSize)(size);
673 }
674
675 static ICAAction defaultActionForKey (NSString event)
676 {
677 return invokeObjcSelfClass!(ICAAction, "defaultActionForKey:", NSString)(event);
678 }
679
680 ICAAction actionForKey (NSString event)
681 {
682 return invokeObjcSelf!(ICAAction, "actionForKey:", NSString)(event);
683 }
684
685 void addAnimation (CAAnimation anim, NSString key)
686 {
687 return invokeObjcSelf!(void, "addAnimation:forKey:", CAAnimation, NSString)(anim, key);
688 }
689
690 void removeAllAnimations ()
691 {
692 return invokeObjcSelf!(void, "removeAllAnimations");
693 }
694
695 void removeAnimationForKey (NSString key)
696 {
697 return invokeObjcSelf!(void, "removeAnimationForKey:", NSString)(key);
698 }
699
700 CAAnimation animationForKey (NSString key)
701 {
702 return invokeObjcSelf!(CAAnimation, "animationForKey:", NSString)(key);
703 }
704
705 Object delegate_ ()
706 {
707 return invokeObjcSelf!(Object, "delegate");
708 }
709
710 void setDelegate (Object arg0)
711 {
712 return invokeObjcSelf!(void, "setDelegate:", Object)(arg0);
713 }
714
715 double beginTime ()
716 {
717 return invokeObjcSelf!(double, "beginTime");
718 }
719
720 void beginTime (double arg0)
721 {
722 return invokeObjcSelf!(void, "setBeginTime:", double)(arg0);
723 }
724
725 alias beginTime setBeginTime;
726
727 double duration ()
728 {
729 return invokeObjcSelf!(double, "duration");
730 }
731
732 void duration (double arg0)
733 {
734 return invokeObjcSelf!(void, "setDuration:", double)(arg0);
735 }
736
737 alias duration setDuration;
738
739 float speed ()
740 {
741 return invokeObjcSelf!(float, "speed");
742 }
743
744 void speed (float arg0)
745 {
746 return invokeObjcSelf!(void, "setSpeed:", float)(arg0);
747 }
748
749 alias speed setSpeed;
750
751 double timeOffset ()
752 {
753 return invokeObjcSelf!(double, "timeOffset");
754 }
755
756 void timeOffset (double arg0)
757 {
758 return invokeObjcSelf!(void, "setTimeOffset:", double)(arg0);
759 }
760
761 alias timeOffset setTimeOffset;
762
763 float repeatCount ()
764 {
765 return invokeObjcSelf!(float, "repeatCount");
766 }
767
768 void repeatCount (float arg0)
769 {
770 return invokeObjcSelf!(void, "setRepeatCount:", float)(arg0);
771 }
772
773 alias repeatCount setRepeatCount;
774
775 double repeatDuration ()
776 {
777 return invokeObjcSelf!(double, "repeatDuration");
778 }
779
780 void repeatDuration (double arg0)
781 {
782 return invokeObjcSelf!(void, "setRepeatDuration:", double)(arg0);
783 }
784
785 alias repeatDuration setRepeatDuration;
786
787 NSString fillMode ()
788 {
789 return invokeObjcSelf!(NSString, "fillMode");
790 }
791
792 void fillMode (NSString mode)
793 {
794 return invokeObjcSelf!(void, "setFillMode:", NSString)(mode);
795 }
796
797 alias fillMode setFillMode;
798
799 bool autoreverses ()
800 {
801 return invokeObjcSelf!(bool, "autoreverses");
802 }
803
804 void autoreverses (bool arg0)
805 {
806 return invokeObjcSelf!(void, "setAutoreverses:", bool)(arg0);
807 }
808
809 alias autoreverses setAutoreverses;
810
811 // CAConstraintLayoutManager
812 void addConstraint (CAConstraint c)
813 {
814 return invokeObjcSelf!(void, "addConstraint:", CAConstraint)(c);
815 }
816
817 // CALayerScrolling
818 void scrollPoint (CGPoint p)
819 {
820 return invokeObjcSelf!(void, "scrollPoint:", CGPoint)(p);
821 }
822
823 void scrollRectToVisible (CGRect r)
824 {
825 return invokeObjcSelf!(void, "scrollRectToVisible:", CGRect)(r);
826 }
827
828 CGRect visibleRect ()
829 {
830 return invokeObjcSelf!(CGRect, "visibleRect");
831 }
832 }
833
834 interface ICAAction
835 {
836 static Object layer ();
837 NSObject init ();
838 NSObject initWithLayer (Object layer);
839 Object presentationLayer ();
840 Object modelLayer ();
841 static Object defaultValueForKey (NSString key);
842 bool shouldArchiveValueForKey (NSString key);
843 CGRect bounds ();
844 void setBounds (CGRect arg0);
845 CGPoint position ();
846 void setPosition (CGPoint arg0);
847 CGFloat zPosition ();
848 void setZPosition (CGFloat arg0);
849 CGPoint anchorPoint ();
850 void setAnchorPoint (CGPoint arg0);
851 CATransform3D transform ();
852 void setTransform (CATransform3D arg0);
853 CGAffineTransform affineTransform ();
854 void setAffineTransform (CGAffineTransform m);
855 CGRect frame ();
856 void setFrame (CGRect arg0);
857 bool isHidden ();
858 void setHidden (bool arg0);
859 bool isDoubleSided ();
860 void setDoubleSided (bool arg0);
861 void removeFromSuperlayer ();
862 void addSublayer (CALayer layer);
863 void insertSublayer (CALayer layer, uint idx);
864 void insertSublayer (CALayer layer, CALayer sibling);
865 void insertSublayer (CALayer layer, CALayer sibling);
866 void replaceSublayer (CALayer layer, CALayer layer2);
867 CATransform3D sublayerTransform ();
868 void setSublayerTransform (CATransform3D arg0);
869 bool masksToBounds ();
870 void setMasksToBounds (bool arg0);
871 CGPoint convertPoint (CGPoint p, CALayer l);
872 CGPoint convertPoint (CGPoint p, CALayer l);
873 CGRect convertRect (CGRect r, CALayer l);
874 CGRect convertRect (CGRect r, CALayer l);
875 double convertTime (double t, CALayer l);
876 double convertTime (double t, CALayer l);
877 CALayer hitTest (CGPoint p);
878 bool containsPoint (CGPoint p);
879 Object contents ();
880 void setContents (Object arg0);
881 CGRect contentsRect ();
882 void setContentsRect (CGRect arg0);
883 bool isOpaque ();
884 void setOpaque (bool arg0);
885 void display ();
886 void setNeedsDisplay ();
887 void setNeedsDisplayInRect (CGRect r);
888 bool needsDisplayOnBoundsChange ();
889 void setNeedsDisplayOnBoundsChange (bool arg0);
890 void drawInContext (CGContextRef ctx);
891 void renderInContext (CGContextRef ctx);
892 uint edgeAntialiasingMask ();
893 void setEdgeAntialiasingMask (uint arg0);
894 CGColorRef backgroundColor ();
895 void setBackgroundColor (CGColorRef arg0);
896 CGFloat cornerRadius ();
897 void setCornerRadius (CGFloat arg0);
898 CGFloat borderWidth ();
899 void setBorderWidth (CGFloat arg0);
900 CGColorRef borderColor ();
901 void setBorderColor (CGColorRef arg0);
902 float opacity ();
903 void setOpacity (float arg0);
904 Object compositingFilter ();
905 void setCompositingFilter (Object arg0);
906 CGColorRef shadowColor ();
907 void setShadowColor (CGColorRef arg0);
908 float shadowOpacity ();
909 void setShadowOpacity (float arg0);
910 CGSize shadowOffset ();
911 void setShadowOffset (CGSize arg0);
912 CGFloat shadowRadius ();
913 void setShadowRadius (CGFloat arg0);
914 uint autoresizingMask ();
915 void setAutoresizingMask (uint arg0);
916 Object layoutManager ();
917 void setLayoutManager (Object arg0);
918 CGSize preferredFrameSize ();
919 void setNeedsLayout ();
920 void layoutIfNeeded ();
921 void layoutSublayers ();
922 void resizeSublayersWithOldSize (CGSize size);
923 void resizeWithOldSuperlayerSize (CGSize size);
924 static ICAAction defaultActionForKey (NSString event);
925 ICAAction actionForKey (NSString event);
926 void addAnimation (CAAnimation anim, NSString key);
927 void removeAllAnimations ();
928 void removeAnimationForKey (NSString key);
929 CAAnimation animationForKey (NSString key);
930 Object delegate_ ();
931 void setDelegate (Object arg0);
932 void runActionForKey (NSString event, Object anObject, NSDictionary dict);
933 }
934
935 const TCALayerDelegate = `
936
937 void displayLayer (CALayer layer)
938 {
939 return invokeObjcSelf!(void, "displayLayer:", CALayer)(layer);
940 }
941
942 void drawLayer (CALayer layer, CGContextRef ctx)
943 {
944 return invokeObjcSelf!(void, "drawLayer:inContext:", CALayer, CGContextRef)(layer, ctx);
945 }
946
947 ICAAction actionForLayer (CALayer layer, NSString event)
948 {
949 return invokeObjcSelf!(ICAAction, "actionForLayer:forKey:", CALayer, NSString)(layer, event);
950 }
951
952 //mixin ObjcBindMethod!(displayLayer, "displayLayer:");
953 //mixin ObjcBindMethod!(drawLayer, "drawLayer:inContext:");
954 //mixin ObjcBindMethod!(actionForLayer, "actionForLayer:forKey:");
955
956 `;
957
958 const TCALayoutManager = `
959
960 CGSize preferredSizeOfLayer (CALayer layer)
961 {
962 return invokeObjcSelf!(CGSize, "preferredSizeOfLayer:", CALayer)(layer);
963 }
964
965 void invalidateLayoutOfLayer (CALayer layer)
966 {
967 return invokeObjcSelf!(void, "invalidateLayoutOfLayer:", CALayer)(layer);
968 }
969
970 void layoutSublayersOfLayer (CALayer layer)
971 {
972 return invokeObjcSelf!(void, "layoutSublayersOfLayer:", CALayer)(layer);
973 }
974
975 //mixin ObjcBindMethod!(preferredSizeOfLayer, "preferredSizeOfLayer:");
976 //mixin ObjcBindMethod!(invalidateLayoutOfLayer, "invalidateLayoutOfLayer:");
977 //mixin ObjcBindMethod!(layoutSublayersOfLayer, "layoutSublayersOfLayer:");
978
979 `;
980