mirror of
https://github.com/darlinghq/darling-cocotron.git
synced 2024-10-07 09:33:28 +00:00
- Issue #60, Julian Mayer's makeObjectsPerformSelector: fix
- thinker at thinkertons -[NSScanner scanCharactersFromSet:intoString:] fix - NSOpenGLView display fix - added simple OpenGL framework for header compatibility
This commit is contained in:
parent
cd258cbd9b
commit
27ebcb2bcb
@ -16,9 +16,7 @@
|
|||||||
|
|
||||||
if(GetUpdateRect(_windowHandle,&updateRECT,NO)){
|
if(GetUpdateRect(_windowHandle,&updateRECT,NO)){
|
||||||
BeginPaint(_windowHandle,&paintStruct);
|
BeginPaint(_windowHandle,&paintStruct);
|
||||||
[_view lockFocus];
|
[_view display];
|
||||||
[_view drawRect:[_view bounds]];
|
|
||||||
[_view unlockFocus];
|
|
||||||
EndPaint(_windowHandle,&paintStruct);
|
EndPaint(_windowHandle,&paintStruct);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -407,18 +407,18 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|||||||
|
|
||||||
|
|
||||||
-(void)makeObjectsPerformSelector:(SEL)selector {
|
-(void)makeObjectsPerformSelector:(SEL)selector {
|
||||||
int count=[self count];
|
int i, count = [self count];
|
||||||
|
|
||||||
while(--count>=0)
|
for (i = 0; i < count; i++)
|
||||||
[[self objectAtIndex:count] performSelector:selector];
|
[[self objectAtIndex:i] performSelector:selector];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-(void)makeObjectsPerformSelector:(SEL)selector withObject:object {
|
-(void)makeObjectsPerformSelector:(SEL)selector withObject:object {
|
||||||
int count=[self count];
|
int i, count = [self count];
|
||||||
|
|
||||||
while(--count>=0)
|
for (i = 0; i < count; i++)
|
||||||
[[self objectAtIndex:count] performSelector:selector withObject:object];
|
[[self objectAtIndex:i] performSelector:selector withObject:object];
|
||||||
}
|
}
|
||||||
|
|
||||||
-(NSString *)description {
|
-(NSString *)description {
|
||||||
|
@ -251,10 +251,10 @@ static inline unsigned indexOfObject(NSMutableArray_concrete *self,id object){
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)makeObjectsPerformSelector:(SEL)selector {
|
-(void)makeObjectsPerformSelector:(SEL)selector {
|
||||||
int count=_count;
|
int i, count = [self count];
|
||||||
|
|
||||||
while(--count>=0)
|
for (i = 0; i < count; i++)
|
||||||
[_objects[count] performSelector:selector];
|
[_objects[i] performSelector:selector];
|
||||||
}
|
}
|
||||||
|
|
||||||
// iterative mergesort based on http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/merge/mergiter.htm
|
// iterative mergesort based on http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/merge/mergiter.htm
|
||||||
|
@ -433,33 +433,43 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
-(BOOL)scanCharactersFromSet:(NSCharacterSet *)charset intoString:(NSString **)stringp {
|
-(BOOL)scanCharactersFromSet:(NSCharacterSet *)charset intoString:(NSString **)stringp
|
||||||
|
{
|
||||||
int length=[_string length];
|
int length=[_string length];
|
||||||
unichar result[length];
|
unichar result[length];
|
||||||
int resultLength = 0;
|
int resultLength = 0;
|
||||||
BOOL scanStarted = NO;
|
BOOL scanStarted = NO;
|
||||||
|
|
||||||
for(;_location<length;_location++) {
|
for(;_location<length;_location++)
|
||||||
unichar unicode=[_string characterAtIndex:_location];
|
{
|
||||||
|
unichar unicode=[_string characterAtIndex:_location];
|
||||||
|
|
||||||
if ([_skipSet characterIsMember:unicode] && scanStarted == NO)
|
if ([_skipSet characterIsMember:unicode] && (scanStarted == NO))
|
||||||
;
|
{
|
||||||
else if ([charset characterIsMember:unicode]) {
|
// do nothing
|
||||||
scanStarted = YES;
|
}
|
||||||
result[resultLength++] = unicode;
|
else
|
||||||
}
|
{
|
||||||
else
|
if ([charset characterIsMember: unicode])
|
||||||
return NO;
|
{
|
||||||
}
|
scanStarted = YES;
|
||||||
|
result[resultLength++] = unicode;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
break; // used to be "return NO";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (resultLength > 0) {
|
if (scanStarted)
|
||||||
if (stringp != NULL)
|
{
|
||||||
*stringp = [NSString stringWithCharacters:result length:resultLength];
|
if (stringp != NULL)
|
||||||
|
{
|
||||||
return YES;
|
*stringp = [NSString stringWithCharacters:result length:resultLength];
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
return NO;
|
return scanStarted;
|
||||||
}
|
}
|
||||||
|
|
||||||
-(BOOL)scanUpToCharactersFromSet:(NSCharacterSet *)charset intoString:(NSString **)stringp {
|
-(BOOL)scanUpToCharactersFromSet:(NSCharacterSet *)charset intoString:(NSString **)stringp {
|
||||||
|
26
OpenGL/Info.plist
Normal file
26
OpenGL/Info.plist
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string></string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>org.cocotron.OpenGL</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>${PRODUCT_NAME}</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>FMWK</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>OBJC</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string></string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
0
OpenGL/OpenGL.h
Normal file
0
OpenGL/OpenGL.h
Normal file
2
OpenGL/OpenGL.m
Normal file
2
OpenGL/OpenGL.m
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
static void OpenGL(){
|
||||||
|
}
|
249
OpenGL/OpenGL.xcodeproj/project.pbxproj
Normal file
249
OpenGL/OpenGL.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 42;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
FEF2EB230C878C88001FC5A8 /* OpenGL.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB220C878C88001FC5A8 /* OpenGL.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
|
FEF2EB5E0C87B894001FC5A8 /* gl.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB5D0C87B894001FC5A8 /* gl.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
|
FEF2EB680C87B8BA001FC5A8 /* glu.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB670C87B8BA001FC5A8 /* glu.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
|
FEF2EB8F0C87B987001FC5A8 /* OpenGL.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF2EB8E0C87B987001FC5A8 /* OpenGL.m */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXBuildRule section */
|
||||||
|
FEF2EB380C878DAA001FC5A8 /* PBXBuildRule */ = {
|
||||||
|
isa = PBXBuildRule;
|
||||||
|
compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
|
||||||
|
fileType = sourcecode.c;
|
||||||
|
isEditable = 1;
|
||||||
|
outputFiles = (
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXBuildRule section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||||
|
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||||
|
8DC2EF5B0486A6940098B216 /* OpenGL.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OpenGL.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
FEF2EB220C878C88001FC5A8 /* OpenGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenGL.h; sourceTree = "<group>"; };
|
||||||
|
FEF2EB5D0C87B894001FC5A8 /* gl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gl.h; sourceTree = "<group>"; };
|
||||||
|
FEF2EB670C87B8BA001FC5A8 /* glu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glu.h; sourceTree = "<group>"; };
|
||||||
|
FEF2EB8E0C87B987001FC5A8 /* OpenGL.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = OpenGL.m; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
8DC2EF560486A6940098B216 /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
8DC2EF5B0486A6940098B216 /* OpenGL.framework */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
0867D691FE84028FC02AAC07 /* OpenGL */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
08FB77AEFE84172EC02AAC07 /* Classes */,
|
||||||
|
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||||
|
089C1665FE841158C02AAC07 /* Resources */,
|
||||||
|
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||||
|
034768DFFF38A50411DB9C8B /* Products */,
|
||||||
|
FEF2EB220C878C88001FC5A8 /* OpenGL.h */,
|
||||||
|
FEF2EB5D0C87B894001FC5A8 /* gl.h */,
|
||||||
|
FEF2EB670C87B8BA001FC5A8 /* glu.h */,
|
||||||
|
FEF2EB8E0C87B987001FC5A8 /* OpenGL.m */,
|
||||||
|
);
|
||||||
|
name = OpenGL;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
||||||
|
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
||||||
|
);
|
||||||
|
name = "External Frameworks and Libraries";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
089C1665FE841158C02AAC07 /* Resources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
8DC2EF5A0486A6940098B216 /* Info.plist */,
|
||||||
|
);
|
||||||
|
name = Resources;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
08FB77AEFE84172EC02AAC07 /* Classes */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
);
|
||||||
|
name = Classes;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
);
|
||||||
|
name = "Linked Frameworks";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
||||||
|
);
|
||||||
|
name = "Other Frameworks";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
);
|
||||||
|
name = "Other Sources";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXHeadersBuildPhase section */
|
||||||
|
8DC2EF500486A6940098B216 /* Headers */ = {
|
||||||
|
isa = PBXHeadersBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
FEF2EB230C878C88001FC5A8 /* OpenGL.h in Headers */,
|
||||||
|
FEF2EB5E0C87B894001FC5A8 /* gl.h in Headers */,
|
||||||
|
FEF2EB680C87B8BA001FC5A8 /* glu.h in Headers */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXHeadersBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
8DC2EF4F0486A6940098B216 /* OpenGL-Windows-i386 */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "OpenGL-Windows-i386" */;
|
||||||
|
buildPhases = (
|
||||||
|
8DC2EF500486A6940098B216 /* Headers */,
|
||||||
|
8DC2EF520486A6940098B216 /* Resources */,
|
||||||
|
8DC2EF540486A6940098B216 /* Sources */,
|
||||||
|
8DC2EF560486A6940098B216 /* Frameworks */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
FEF2EB380C878DAA001FC5A8 /* PBXBuildRule */,
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = "OpenGL-Windows-i386";
|
||||||
|
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||||
|
productName = OpenGL;
|
||||||
|
productReference = 8DC2EF5B0486A6940098B216 /* OpenGL.framework */;
|
||||||
|
productType = "com.apple.product-type.framework";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "OpenGL" */;
|
||||||
|
hasScannedForEncodings = 1;
|
||||||
|
mainGroup = 0867D691FE84028FC02AAC07 /* OpenGL */;
|
||||||
|
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
targets = (
|
||||||
|
8DC2EF4F0486A6940098B216 /* OpenGL-Windows-i386 */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
|
8DC2EF520486A6940098B216 /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
8DC2EF540486A6940098B216 /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
FEF2EB8F0C87B987001FC5A8 /* OpenGL.m in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
1DEB91AE08733DA50010E9CD /* Deployment */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ARCHS = i386;
|
||||||
|
DEPLOYMENT_LOCATION = YES;
|
||||||
|
DSTROOT = /;
|
||||||
|
EXECUTABLE_SUFFIX = .1.0.dll;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||||
|
GCC_PREFIX_HEADER = "";
|
||||||
|
INFOPLIST_FILE = Info.plist;
|
||||||
|
INSTALL_PATH = /Developer/Cocotron/1.0/Windows/i386/Frameworks;
|
||||||
|
OTHER_LDFLAGS = (
|
||||||
|
"-shared",
|
||||||
|
"-Wl,--enable-auto-import",
|
||||||
|
"-Wl,--export-all-symbols",
|
||||||
|
"-Wl,--out-implib,$TARGET_BUILD_DIR/$(PRODUCT_NAME).framework/lib$(PRODUCT_NAME).a",
|
||||||
|
);
|
||||||
|
PREBINDING = NO;
|
||||||
|
PRODUCT_NAME = OpenGL;
|
||||||
|
SYMROOT = /Developer/Cocotron/1.0/build/OpenGL/Windows/i386;
|
||||||
|
WRAPPER_EXTENSION = framework;
|
||||||
|
ZERO_LINK = YES;
|
||||||
|
};
|
||||||
|
name = Deployment;
|
||||||
|
};
|
||||||
|
1DEB91B208733DA50010E9CD /* Deployment */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = "";
|
||||||
|
};
|
||||||
|
name = Deployment;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "OpenGL-Windows-i386" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB91AE08733DA50010E9CD /* Deployment */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Deployment;
|
||||||
|
};
|
||||||
|
1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "OpenGL" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB91B208733DA50010E9CD /* Deployment */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Deployment;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||||
|
}
|
1
OpenGL/gl.h
Normal file
1
OpenGL/gl.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
#import <gl/gl.h>
|
1
OpenGL/glu.h
Normal file
1
OpenGL/glu.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
#import <gl/glu.h>
|
Loading…
Reference in New Issue
Block a user