亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sdlmain.m

?? MPEG-4編解碼的實現(包括MPEG4視音頻編解碼)
?? M
字號:
/*   SDLMain.m - main entry point for our Cocoa-ized SDL app
       Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
       Non-NIB-Code & other changes: Max Horn <max@quendi.de>

    Feel free to customize this file to suit your needs
*/

#import "SDL.h"
#import "SDLMain.h"
#import <sys/param.h> /* for MAXPATHLEN */
#import <unistd.h>

/* Use this flag to determine whether we use SDLMain.nib or not */
#define		SDL_USE_NIB_FILE	0


static int    gArgc;
static char  **gArgv;
static BOOL   gFinderLaunch;

#if SDL_USE_NIB_FILE
/* A helper category for NSString */
@interface NSString (ReplaceSubString)
- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
@end
#else
/* An internal Apple class used to setup Apple menus */
@interface NSAppleMenuController:NSObject {}
- (void)controlMenu:(NSMenu *)aMenu;
@end
#endif

@interface SDLApplication : NSApplication
@end

@implementation SDLApplication
/* Invoked from the Quit menu item */
- (void)terminate:(id)sender
{
    /* Post a SDL_QUIT event */
    SDL_Event event;
    event.type = SDL_QUIT;
    SDL_PushEvent(&event);
}
@end


/* The main class of the application, the application's delegate */
@implementation SDLMain

/* Set the working directory to the .app's parent directory */
- (void) setupWorkingDirectory:(BOOL)shouldChdir
{
    char parentdir[MAXPATHLEN];
    char *c;
    
    strncpy ( parentdir, gArgv[0], sizeof(parentdir) );
    c = (char*) parentdir;

    while (*c != '\0')     /* go to end */
        c++;
    
    while (*c != '/')      /* back up to parent */
        c--;
    
    *c++ = '\0';             /* cut off last part (binary name) */
  
    if (shouldChdir)
    {
      assert ( chdir (parentdir) == 0 );   /* chdir to the binary app's parent */
      assert ( chdir ("../../../") == 0 ); /* chdir to the .app's parent */
    }
}

#if SDL_USE_NIB_FILE

/* Fix menu to contain the real app name instead of "SDL App" */
- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
{
    NSRange aRange;
    NSEnumerator *enumerator;
    NSMenuItem *menuItem;

    aRange = [[aMenu title] rangeOfString:@"SDL App"];
    if (aRange.length != 0)
        [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];

    enumerator = [[aMenu itemArray] objectEnumerator];
    while ((menuItem = [enumerator nextObject]))
    {
        aRange = [[menuItem title] rangeOfString:@"SDL App"];
        if (aRange.length != 0)
            [menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
        if ([menuItem hasSubmenu])
            [self fixMenu:[menuItem submenu] withAppName:appName];
    }
    [ aMenu sizeToFit ];
}

#else

void setupAppleMenu(void)
{
    /* warning: this code is very odd */
    NSAppleMenuController *appleMenuController;
    NSMenu *appleMenu;
    NSMenuItem *appleMenuItem;

    appleMenuController = [[NSAppleMenuController alloc] init];
    appleMenu = [[NSMenu alloc] initWithTitle:@""];
    appleMenuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
    
    [appleMenuItem setSubmenu:appleMenu];

    /* yes, we do need to add it and then remove it --
       if you don't add it, it doesn't get displayed
       if you don't remove it, you have an extra, titleless item in the menubar
       when you remove it, it appears to stick around
       very, very odd */
    [[NSApp mainMenu] addItem:appleMenuItem];
    [appleMenuController controlMenu:appleMenu];
    [[NSApp mainMenu] removeItem:appleMenuItem];
    [appleMenu release];
    [appleMenuItem release];
}

/* Create a window menu */
void setupWindowMenu(void)
{
    NSMenu		*windowMenu;
    NSMenuItem	*windowMenuItem;
    NSMenuItem	*menuItem;


    windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
    
    /* "Minimize" item */
    menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
    [windowMenu addItem:menuItem];
    [menuItem release];
    
    /* Put menu into the menubar */
    windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
    [windowMenuItem setSubmenu:windowMenu];
    [[NSApp mainMenu] addItem:windowMenuItem];
    
    /* Tell the application object that this is now the window menu */
    [NSApp setWindowsMenu:windowMenu];

    /* Finally give up our references to the objects */
    [windowMenu release];
    [windowMenuItem release];
}

/* Replacement for NSApplicationMain */
void CustomApplicationMain (argc, argv)
{
    NSAutoreleasePool	*pool = [[NSAutoreleasePool alloc] init];
    SDLMain				*sdlMain;

    /* Ensure the application object is initialised */
    [SDLApplication sharedApplication];
    
    /* Set up the menubar */
    [NSApp setMainMenu:[[NSMenu alloc] init]];
    setupAppleMenu();
    setupWindowMenu();
    
    /* Create SDLMain and make it the app delegate */
    sdlMain = [[SDLMain alloc] init];
    [NSApp setDelegate:sdlMain];
    
    /* Start the main event loop */
    [NSApp run];
    
    [sdlMain release];
    [pool release];
}

#endif

/* Called when the internal event loop has just started running */
- (void) applicationDidFinishLaunching: (NSNotification *) note
{
    int status;

    /* Set the working directory to the .app's parent directory */
    [self setupWorkingDirectory:gFinderLaunch];

#if SDL_USE_NIB_FILE
    /* Set the main menu to contain the real app name instead of "SDL App" */
    [self fixMenu:[NSApp mainMenu] withAppName:[[NSProcessInfo processInfo] processName]];
#endif

    /* Hand off to main application code */
    status = SDL_main (gArgc, gArgv);

    /* We're done, thank you for playing */
    exit(status);
}
@end


@implementation NSString (ReplaceSubString)

- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
{
    unsigned int bufferSize;
    unsigned int selfLen = [self length];
    unsigned int aStringLen = [aString length];
    unichar *buffer;
    NSRange localRange;
    NSString *result;

    bufferSize = selfLen + aStringLen - aRange.length;
    buffer = NSAllocateMemoryPages(bufferSize*sizeof(unichar));
    
    /* Get first part into buffer */
    localRange.location = 0;
    localRange.length = aRange.location;
    [self getCharacters:buffer range:localRange];
    
    /* Get middle part into buffer */
    localRange.location = 0;
    localRange.length = aStringLen;
    [aString getCharacters:(buffer+aRange.location) range:localRange];
     
    /* Get last part into buffer */
    localRange.location = aRange.location + aRange.length;
    localRange.length = selfLen - localRange.location;
    [self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
    
    /* Build output string */
    result = [NSString stringWithCharacters:buffer length:bufferSize];
    
    NSDeallocateMemoryPages(buffer, bufferSize);
    
    return result;
}

@end



#ifdef main
#  undef main
#endif


/* Main entry point to executable - should *not* be SDL_main! */
int main (int argc, char **argv)
{

    /* Copy the arguments into a global variable */
    int i;
    
    /* This is passed if we are launched by double-clicking */
    if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
        gArgc = 1;
	gFinderLaunch = YES;
    } else {
        gArgc = argc;
	gFinderLaunch = NO;
    }
    gArgv = (char**) malloc (sizeof(*gArgv) * (gArgc+1));
    assert (gArgv != NULL);
    for (i = 0; i < gArgc; i++)
        gArgv[i] = argv[i];
    gArgv[i] = NULL;

#if SDL_USE_NIB_FILE
    [SDLApplication poseAsClass:[NSApplication class]];
    NSApplicationMain (argc, argv);
#else
    CustomApplicationMain (argc, argv);
#endif
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91偷拍与自偷拍精品| 在线成人免费观看| 欧美日本在线看| 国产精品私人影院| 麻豆成人av在线| 欧美色偷偷大香| 中文字幕av一区二区三区高| 日本不卡一区二区| 色香蕉成人二区免费| 国产网红主播福利一区二区| 亚洲国产一区在线观看| 成人午夜电影网站| 久久精品亚洲国产奇米99| 日韩高清在线一区| 欧美日韩黄视频| 亚洲在线成人精品| 91小视频免费观看| 国产精品夫妻自拍| 高清成人免费视频| 国产人伦精品一区二区| 国内成人自拍视频| 精品国产露脸精彩对白| 老司机精品视频在线| 91精品国产91久久久久久最新毛片| 亚洲色图20p| 91福利视频久久久久| 一区二区三区.www| 91免费看视频| 亚洲黄色录像片| 色综合久久九月婷婷色综合| 《视频一区视频二区| 99精品久久99久久久久| 综合精品久久久| 色婷婷激情综合| 樱桃视频在线观看一区| 在线精品视频一区二区| 亚洲国产日韩综合久久精品| 欧美性xxxxx极品少妇| 亚洲第一狼人社区| 91麻豆精品国产91久久久久| 日韩av一区二区三区四区| 日韩欧美中文一区二区| 国产麻豆欧美日韩一区| 欧美国产一区视频在线观看| voyeur盗摄精品| 樱花影视一区二区| 日韩一区二区三区视频在线观看| 免费观看30秒视频久久| 久久精品一区二区三区四区| www.66久久| 日韩av电影天堂| 久久久精品天堂| 91久久国产最好的精华液| 偷拍一区二区三区四区| 26uuu另类欧美亚洲曰本| 成人一级片网址| 亚洲一区二区三区四区不卡| 日韩一级片网站| 不卡大黄网站免费看| 亚洲国产婷婷综合在线精品| 精品免费视频.| av男人天堂一区| 免费观看成人av| 国产精品毛片久久久久久| 欧美色欧美亚洲另类二区| 国内外成人在线| 一区二区三区精密机械公司| 精品国产一区二区三区忘忧草| 成人午夜短视频| 日韩成人精品视频| |精品福利一区二区三区| 日韩欧美国产午夜精品| www.综合网.com| 六月丁香婷婷久久| 夜夜嗨av一区二区三区| 久久久久久久久久看片| 欧美精品丝袜中出| 不卡免费追剧大全电视剧网站| 天天操天天综合网| 亚洲欧洲日本在线| 精品国产乱码久久久久久图片 | 欧美日韩在线一区二区| 国产精品99久久久久久久vr| 亚洲成人资源在线| 亚洲精品大片www| 国产无人区一区二区三区| 91精品国产色综合久久不卡蜜臀| 99综合影院在线| 国产成人精品aa毛片| 久久成人久久爱| 亚洲国产成人va在线观看天堂| 国产精品网站在线观看| 精品国产乱码91久久久久久网站| 欧美人牲a欧美精品| 一本大道久久a久久精二百| 国产91丝袜在线观看| 精品一区二区在线免费观看| 热久久一区二区| 日韩精品电影在线观看| 亚洲成人自拍一区| 亚洲福利电影网| 亚洲综合丝袜美腿| 亚洲人成在线播放网站岛国| 中文在线免费一区三区高中清不卡| 日韩欧美国产wwwww| 欧美日韩日日摸| 91麻豆精品国产自产在线| 欧美日韩亚洲不卡| 欧美色图片你懂的| 欧美精品在线一区二区| 9191国产精品| 欧美顶级少妇做爰| 91精品国产综合久久久久久久| 欧美日韩精品欧美日韩精品| 欧美三区在线观看| 欧美日韩国产免费| 555www色欧美视频| 91精品婷婷国产综合久久竹菊| 678五月天丁香亚洲综合网| 91精品国产高清一区二区三区| 欧美一级精品大片| 26uuu另类欧美亚洲曰本| 国产视频911| 亚洲欧洲日韩av| 亚洲成人免费观看| 青青草原综合久久大伊人精品优势| 另类专区欧美蜜桃臀第一页| 精品亚洲aⅴ乱码一区二区三区| 国产尤物一区二区| 成人综合日日夜夜| 欧洲精品一区二区三区在线观看| 欧美日韩极品在线观看一区| 日韩欧美国产午夜精品| 中日韩免费视频中文字幕| 亚洲另类春色校园小说| 亚洲国产你懂的| 韩国av一区二区三区| av一区二区三区四区| 91成人国产精品| 日韩欧美综合一区| 国产精品福利电影一区二区三区四区| 亚洲精品国久久99热| 蜜桃av一区二区| 成人黄色a**站在线观看| 在线精品国精品国产尤物884a| 日韩欧美国产电影| 亚洲日本乱码在线观看| 日韩精品一级二级| 国产iv一区二区三区| 欧美日韩激情一区二区三区| 久久久亚洲午夜电影| 一区二区激情小说| 国产在线精品一区二区三区不卡 | 国产精品1区2区3区| 91九色最新地址| 精品久久国产老人久久综合| 国产精品剧情在线亚洲| 日韩经典中文字幕一区| www.欧美色图| 精品国产麻豆免费人成网站| 亚洲人成网站精品片在线观看| 久久精品国产澳门| 色香色香欲天天天影视综合网| 久久亚洲免费视频| 亚洲国产日产av| 不卡的av电影| 亚洲精品一区二区在线观看| 亚洲成av人影院在线观看网| 成人免费视频播放| 精品国偷自产国产一区| 亚洲国产精品久久艾草纯爱| 99免费精品在线| 久久精品水蜜桃av综合天堂| 日韩高清国产一区在线| 色婷婷国产精品| 国产精品国产三级国产专播品爱网| 蜜桃久久久久久| 欧美日本视频在线| 亚洲久草在线视频| 成av人片一区二区| 国产亚洲女人久久久久毛片| 久久精品国产亚洲高清剧情介绍| 欧美午夜在线观看| 亚洲精品国产无套在线观| 国产成人av自拍| 国产亚洲女人久久久久毛片| 韩国理伦片一区二区三区在线播放| 91麻豆精品久久久久蜜臀| 亚洲午夜在线视频| 欧美日韩视频第一区| 午夜天堂影视香蕉久久| 欧美日韩一区在线观看| 亚洲妇熟xx妇色黄| 欧美色图12p| 天天操天天色综合| 7777精品伊人久久久大香线蕉最新版| 亚洲成人三级小说| 777精品伊人久久久久大香线蕉| 亚洲国产另类av| 7777精品伊人久久久大香线蕉的 |