Skip to content

Commit

Permalink
QuartzCore additions
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew Hyatt committed Jan 16, 2019
1 parent e8e5426 commit 38cfae7
Show file tree
Hide file tree
Showing 8 changed files with 155 additions and 0 deletions.
27 changes: 27 additions & 0 deletions QuartzCore/CAGradientLayer.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
This file is part of Darling.
Copyright (C) 2019 Lubos Dolezel
Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Darling 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#import <QuartzCore/CAGradientLayer.h>

NSString * const kCAGradientLayerAxial = @"axial";
NSString * const kCAGradientLayerRadial = @"radial";
NSString * const kCAGradientLayerConic = @"conic";

@implementation CAGradientLayer
@end
25 changes: 25 additions & 0 deletions QuartzCore/CAMediaTiming.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/*
This file is part of Darling.
Copyright (C) 2019 Lubos Dolezel
Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Darling 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#import <QuartzCore/CAMediaTiming.h>

NSString * const kCAFillModeForwards = @"forwards";
NSString * const kCAFillModeBackwards = @"backwards";
NSString * const kCAFillModeBoth = @"both";
NSString * const kCAFillModeRemoved = @"removed";
32 changes: 32 additions & 0 deletions QuartzCore/CAShapeLayer.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
This file is part of Darling.
Copyright (C) 2019 Lubos Dolezel
Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Darling 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#import <QuartzCore/CAShapeLayer.h>

NSString * const kCAFillRuleNonZero = @"non-zero";
NSString * const kCAFillRuleEvenOdd = @"even-odd";
NSString * const kCALineJoinMiter = @"miter";
NSString * const kCALineJoinRound = @"round";
NSString * const kCALineJoinBevel = @"bevel";
NSString * const kCALineCapButt = @"butt";
NSString * const kCALineCapRound = @"round";
NSString * const kCALineCapSquare = @"square";

@implementation CAShapeLayer
@end
3 changes: 3 additions & 0 deletions QuartzCore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ set(QuartzCore_sources
CIVector.m
CAConstraintLayoutManager.m
CAFilter.m
CAGradientLayer.m
CAShapeLayer.m
CAMediaTiming.m
)

set_source_files_properties(${QuartzCore_sources} LANGUAGE C)
Expand Down
27 changes: 27 additions & 0 deletions QuartzCore/include/QuartzCore/CAGradientLayer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
This file is part of Darling.
Copyright (C) 2019 Lubos Dolezel
Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Darling 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#import <QuartzCore/CALayer.h>

CA_EXPORT NSString * const kCAGradientLayerAxial;
CA_EXPORT NSString * const kCAGradientLayerRadial;
CA_EXPORT NSString * const kCAGradientLayerConic;

@interface CAGradientLayer : CALayer
@end
6 changes: 6 additions & 0 deletions QuartzCore/include/QuartzCore/CAMediaTiming.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
#import <QuartzCore/CABase.h>
#import <CoreFoundation/CoreFoundation.h>
#import <Foundation/Foundation.h>

CA_EXPORT NSString * const kCAFillModeForwards;
CA_EXPORT NSString * const kCAFillModeBackwards;
CA_EXPORT NSString * const kCAFillModeBoth;
CA_EXPORT NSString * const kCAFillModeRemoved;

@protocol CAMediaTiming

Expand Down
32 changes: 32 additions & 0 deletions QuartzCore/include/QuartzCore/CAShapeLayer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
This file is part of Darling.
Copyright (C) 2019 Lubos Dolezel
Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Darling 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#import <QuartzCore/CALayer.h>

CA_EXPORT NSString * const kCAFillRuleNonZero;
CA_EXPORT NSString * const kCAFillRuleEvenOdd;
CA_EXPORT NSString * const kCALineJoinMiter;
CA_EXPORT NSString * const kCALineJoinRound;
CA_EXPORT NSString * const kCALineJoinBevel;
CA_EXPORT NSString * const kCALineCapButt;
CA_EXPORT NSString * const kCALineCapRound;
CA_EXPORT NSString * const kCALineCapSquare;

@interface CAShapeLayer : CALayer
@end
3 changes: 3 additions & 0 deletions QuartzCore/include/QuartzCore/CoreAnimation.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
#import <QuartzCore/CATransaction.h>
#import <QuartzCore/CAConstraintLayoutManager.h>

#import <QuartzCore/CAGradientLayer.h>
#import <QuartzCore/CAShapeLayer.h>

/* Undocumented */
#import <QuartzCore/CAFilter.h>
/* End undocumented */

0 comments on commit 38cfae7

Please sign in to comment.