changeset 1:545ef7038418 tip

Added initial template for iOS. It still doesn't work. I don't know how to add a library (not framework dependency). I think the library should be embedded in the template. For Mac, embedding the framework in the template might be a good idea too, but I don't know how to embed that either. And I don't know how to access the copy bundle phase to copy the framework into the app bundle.
author Eric Wing <ewing . public |-at-| gmail . com>
date Sun, 02 Oct 2011 21:41:39 -0700
parents b0b91cadc484
children
files SDL 1.3 iOS Application.xctemplate/Default.png SDL 1.3 iOS Application.xctemplate/TemplateInfo.plist SDL 1.3 iOS Application.xctemplate/main.c
diffstat 3 files changed, 187 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
Binary file SDL 1.3 iOS Application.xctemplate/Default.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDL 1.3 iOS Application.xctemplate/TemplateInfo.plist	Sun Oct 02 21:41:39 2011 -0700
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>Ancestors</key>
+	<array>
+		<string>org.libsdl.SDLApplicationBase</string>
+		<string>com.apple.dt.unit.iPhoneBase</string>
+	</array>
+	<key>Identifier</key>
+	<string>org.libsdl.SDL13ApplicationiOS</string>
+	<key>Kind</key>
+	<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
+	<key>Targets</key>
+	<array>
+		<dict>
+			<key>Frameworks</key>
+			<array>
+				<string>UIKit</string>
+				<string>Foundation</string>
+				<string>AudioToolbox</string>
+				<string>QuartzCore</string>
+				<string>OpenGLES</string>
+				<string>CoreGraphics</string>
+			</array>
+			<key>BuildPhases</key>
+			<array>
+				<dict>
+					<key>Class</key>
+					<string>Sources</string>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>Frameworks</string>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>Resources</string>
+				</dict>
+			</array>
+			<key>Configurations</key>
+			<dict>
+				<key>Debug</key>
+				<dict>
+					<key>COPY_PHASE_STRIP</key>
+					<string>NO</string>
+					<key>GCC_DYNAMIC_NO_PIC</key>
+					<string>NO</string>
+				</dict>
+				<key>Release</key>
+				<dict>
+					<key>COPY_PHASE_STRIP</key>
+					<string>YES</string>
+				</dict>
+			</dict>
+			<key>ProductType</key>
+			<string>com.apple.product-type.application</string>
+			<key>SharedSettings</key>
+			<dict/>
+		</dict>
+	</array>
+	<key>Concrete</key>
+	<true/>
+	<key>Definitions</key>
+	<dict>
+		<key>main.c</key>
+		<dict>
+			<key>Group</key>
+			<string>Supporting Files</string>
+			<key>Path</key>
+			<string>main.c</string>
+		</dict>
+		<key>Default.png</key>
+		<dict>
+			<key>Group</key>
+			<string>Resources</string>
+			<key>Path</key>
+			<string>Default.png</string>
+		</dict>
+	</dict>
+	<key>Nodes</key>
+	<array>
+		<string>main.c</string>
+		<string>Default.png</string>
+	</array>
+	<key>Description</key>
+	<string>This template provides a starting point for an application that uses SDL 1.3 for iOS.</string>
+</dict>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDL 1.3 iOS Application.xctemplate/main.c	Sun Oct 02 21:41:39 2011 -0700
@@ -0,0 +1,98 @@
+/*
+ *	rectangles.c
+ *	written by Holmes Futrell
+ *	use however you want
+ */
+
+#include "SDL.h"
+#include <time.h>
+
+#define SCREEN_WIDTH 320
+#define SCREEN_HEIGHT 480
+
+int
+randomInt(int min, int max)
+{
+    return min + rand() % (max - min + 1);
+}
+
+void
+render(SDL_Renderer *renderer)
+{
+
+    Uint8 r, g, b;
+
+    /* Clear the screen */
+    SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
+    SDL_RenderClear(renderer);
+
+    /*  Come up with a random rectangle */
+    SDL_Rect rect;
+    rect.w = randomInt(64, 128);
+    rect.h = randomInt(64, 128);
+    rect.x = randomInt(0, SCREEN_WIDTH);
+    rect.y = randomInt(0, SCREEN_HEIGHT);
+
+    /* Come up with a random color */
+    r = randomInt(50, 255);
+    g = randomInt(50, 255);
+    b = randomInt(50, 255);
+    SDL_SetRenderDrawColor(renderer, r, g, b, 255);
+
+    /*  Fill the rectangle in the color */
+    SDL_RenderFillRect(renderer, &rect);
+
+    /* update screen */
+    SDL_RenderPresent(renderer);
+}
+
+int
+main(int argc, char *argv[])
+{
+
+    SDL_Window *window;
+    SDL_Renderer *renderer;
+    int done;
+    SDL_Event event;
+
+    /* initialize SDL */
+    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
+        printf("Could not initialize SDL\n");
+        return 1;
+    }
+
+    /* seed random number generator */
+    srand(time(NULL));
+
+    /* create window and renderer */
+    window =
+        SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
+                         SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
+    if (!window) {
+        printf("Could not initialize Window\n");
+        return 1;
+    }
+
+    renderer = SDL_CreateRenderer(window, -1, 0);
+    if (!renderer) {
+        printf("Could not create renderer\n");
+        return 1;
+    }
+
+    /* Enter render loop, waiting for user to quit */
+    done = 0;
+    while (!done) {
+        while (SDL_PollEvent(&event)) {
+            if (event.type == SDL_QUIT) {
+                done = 1;
+            }
+        }
+        render(renderer);
+        SDL_Delay(1);
+    }
+
+    /* shutdown SDL */
+    SDL_Quit();
+
+    return 0;
+}