This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// vertex shader | |
attribute vec4 a_color; | |
attribute vec4 a_position; | |
attribute vec2 a_tex_coord; | |
varying mediump vec2 v_tex_coord; | |
varying lowp vec4 v_color_mix; | |
void main() { | |
v_color_mix = a_color; | |
v_tex_coord = a_tex_coord; | |
gl_Position = a_position; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// vertex shader | |
uniform float u_selected; | |
attribute vec4 a_position; | |
attribute vec4 a_color; | |
varying lowp vec4 v_color; | |
void main() { | |
if (u_selected > 0.0) { | |
v_color = vec4(0.5, 1.0, 1.0, 1.0); | |
} else { | |
v_color = a_color; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// vertex shader | |
attribute vec4 a_color; | |
attribute vec4 a_position; | |
attribute vec2 a_tex_coord; | |
varying highp vec2 v_tex_coord; | |
varying lowp vec4 v_color_mix; | |
void main() { | |
v_color_mix = a_color; | |
v_tex_coord = a_tex_coord; | |
gl_Position = a_position; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// vertex shader | |
attribute vec4 a_position; | |
attribute vec2 a_tex_coord; | |
varying mediump vec2 v_tex_coord; | |
void main() { | |
v_tex_coord = a_tex_coord; | |
gl_Position = a_position; | |
} | |
// fragment shader |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if(flashIntensity > 0.0f) | |
{ | |
glClearColor(flashIntensity, flashIntensity, flashIntensity, 0.0f); | |
glClear(GL_COLOR_BUFFER_BIT); | |
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); | |
} | |
else | |
{ | |
glClear(GL_COLOR_BUFFER_BIT); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#import "UIImageView+UIPImageFrame.h" | |
@implementation UIImageView (UIPImageFrame) | |
- (CGRect)imageFrame | |
{ | |
UIViewContentMode contentMode = self.contentMode; | |
UIImage *image = self.image; | |
if(image == nil) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@implementation IrisSegue | |
- (void)perform | |
{ | |
CATransition *shutterAnimation = [CATransition animation]; | |
[shutterAnimation setDelegate:self]; | |
[shutterAnimation setDuration:0.5]; | |
shutterAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; | |
[shutterAnimation setType:@"cameraIris"]; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (void)foo | |
{ | |
__weak __typeof__(self) weakSelf = self; | |
dispatch_async(queue, ^{ | |
__typeof__(self) self = weakSelf; | |
[self bar]; | |
}); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int main(int argc, const char * argv[]) | |
{ | |
@autoreleasepool { | |
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); | |
dispatch_block_t block = ^{ | |
int a = 5; | |
NSLog(@"%p = %d", &a, a); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
typedef enum MyEnum { | |
MyEnum1, | |
MyEnum2, | |
MyEnum3, | |
} MyEnum; | |
static int function1(MyEnum e) { | |
switch(e) { // warning: Enumeration value 'MyEnum3' not handled in switch | |
case MyEnum1: | |
return 1; |