File:  [RetroPC.NET] / np2 / macosx / np2opening.cpp
Revision 1.2: download - view: text, annotated - select for diffs
Mon Nov 3 19:19:43 2003 JST (22 years ago) by tk800
Branches: MAIN
CVS tags: VER_0_70, HEAD
ToolWindow for Mac

/*
 *  np2opening.h
 *  np2
 *
 *  Created by tk800 on Fri Oct 31 2003.
 *
 */

#include <QuickTime/QuickTime.h>
#include "compiler.h"
#include "np2.h"
#include "np2opening.h"



static PicHandle getbmp(FSSpec fsc, Rect* srt) {
    PicHandle	pict = NULL;
    GraphicsImportComponent	gi;
    
    if (!GetGraphicsImporterForFile(&fsc, &gi)) {
        if (!GraphicsImportGetNaturalBounds(gi, srt)) {
            OffsetRect( srt, -(*srt).left, -(*srt).top);
            GraphicsImportSetBoundsRect(gi, srt);
            GraphicsImportGetAsPicture(gi, &pict);
        }
        CloseComponent(gi);
    }
    return pict;
}

PicHandle getBMPfromPath(char* path, Rect* srt) {
    
    Str255		fname;
    FSSpec		fsc;
    
	mkstr255(fname, path);
	FSMakeFSSpec(0, 0, fname, &fsc);
    return(getbmp(fsc, srt));
}

PicHandle getBMPfromResource(const char* name, Rect* srt) {
    CFURLRef	url = NULL;
    FSRef		fsr;
    FSSpec		fsc;
    PicHandle	pict = NULL;
    
    url=CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTRj(name), CFSTR("bmp"), NULL);
    if (url) {
        if (CFURLGetFSRef(url, &fsr)) {
            FSGetCatalogInfo(&fsr, kFSCatInfoNone, NULL, NULL, &fsc, NULL);
            pict = getbmp(fsc, srt);
        }
        CFRelease(url);
    }
    return(pict);
}

void openingNP2(void) {
    Rect		srt;
    GrafPtr		port;
    PicHandle	pict = NULL;

    pict = getBMPfromResource("nekop2", &srt);
    if (pict) {
        GetPort(&port);
        SetPortWindowPort(hWndMain);
        OffsetRect(&srt, (640-srt.right)/2, (400-srt.bottom)/2);
        DrawPicture(pict,&srt);
        QDFlushPortBuffer(GetWindowPort(hWndMain), NULL);
        SetPort(port);
        KillPicture(pict);
    }
}

RetroPC.NET-CVS <cvs@retropc.net>