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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? splash.cpp

?? MicroStation源代碼
?? CPP
字號(hào):
/*----------------------------------------------------------------------+
|  
|   splash
|
+----------------------------------------------------------------------*/
/*----------------------------------------------------------------------+
|
|   STATUS: WORKING
|   DATE:   1/11/00 9:55:18 AM
|
|   This example demonstrates how to place a JPG image on a dialog box
|   using a Generic item.  The splash screen disapears after 10 seconds.
|   You can change the expire time in the variable expireTime below.
|
|   Note:
|   =====
|   The image file needs to be located in a directory pointed to by
|   the MicroStation environment variable MS_DEF.
|
+----------------------------------------------------------------------*/
/*----------------------------------------------------------------------+
|
|   Include Files
|
+----------------------------------------------------------------------*/
#include <mdl.h>
#include <cmdlist.h>
#include <string.h>

#include <msvar.fdf>
#include <dlogman.fdf>
#include <msfile.fdf>
#include <msinput.fdf>
#include <msoutput.fdf>
#include <msrsrc.fdf>
#include <msstate.fdf>
#include <mssystem.fdf>
#include <msimage.fdf>

#include "splash.h"

/*----------------------------------------------------------------------+
|
|   Private Global variables
|
+----------------------------------------------------------------------*/

/*
    Set your splash display time in seconds here

    Note:
    Time is expressed in ticks (one-sixtieth of a second increments).
    To convert seconds to ticks:
    
    i.e. 10 seconds = 10 * 60(ticks)
*/

Private int expireTime = 5;

/*----------------------------------------------------------------------+
|
|   Function Declarations
|
+----------------------------------------------------------------------*/
void mdlWindow_findUsableSpace (BSIRect *, int, int);

/*----------------------------------------------------------------------+
|
|   name        exitApplication
|
|   author      BSI                                         12/1998
|
+----------------------------------------------------------------------*/
Private void exitApplication
(
void
)
    {
    /* Queue up a command to unload the current MDL application */
    mdlDialog_cmdNumberQueue (FALSE, CMD_MDL_UNLOAD,
                              mdlSystem_getCurrTaskID (), TRUE);

    mdlState_startDefaultCommand ();
    }

/*----------------------------------------------------------------------+
|
|   name        dialogCenter
|
|   author      BSI                                         12/1998
|
+----------------------------------------------------------------------*/
Private void dialogCenter
(
long id /* => Dialog ID to center */
)
    {
    Point2d     orgin;
    DialogBox   *dbP;
    DialogBox   *mswindowP;
    BSIRect     rectP,rectP2;
    int         height, height2, weight, weight2;

    /* Verify if dialog box exists */
    if ((dbP = mdlDialog_create (NULL, NULL, RTYPE_DialogBox, id, FALSE)) )
        {
        /* Get the usable display area of the MicroStation main screen */
        mdlWindow_findUsableSpace (&rectP2, 0, 101);
        /*(
        BSIRect *useRectP,
        int      screen,    <== Should be 0. Set to the number of graphic heads - 1
        int      priority   <== Set priority to 0 for within the work area. or
                                use 101 for the entire window.
        ); */
    
        /* Store the height and width of the MicroStation main screen */
        height2 = mdlDialog_rectHeight (&rectP2);
        weight2 = mdlDialog_rectWidth (&rectP2);

        /* Get the height and width of our dialog box */
        mdlWindow_globalRectGetGlobal (&rectP, dbP);
        
        /* Store the height and width of our dialog box */
        height = mdlDialog_rectHeight (&rectP);
        weight = mdlDialog_rectWidth (&rectP);

        /* Find the origin points to place our dialog box at the center */
        orgin.x = (mdlDialog_toPixels (dbP, weight2) - mdlDialog_toPixels (dbP, weight))/2;
        orgin.y = (mdlDialog_toPixels (dbP, height2) - mdlDialog_toPixels (dbP, height))/2; 
     
        /* Display the dialog box */
        mdlWindow_resize (dbP, CORNER_ALL, &orgin);
        mdlDialog_show (dbP);
        }

    return;
    }

/*----------------------------------------------------------------------+
|
|   name        dialogClose
|
|   author      BSI                                         12/1998
|
+----------------------------------------------------------------------*/
Private int dialogClose
(
long id,        /* => Dialog ID to close */
char *taskIdP   /* => NULL or MDL TASK ID */
)
    {
    DialogBox   *dbP;
    void        *ownerMD;

    if (taskIdP)
        {
        ownerMD = mdlSystem_findMdlDesc (taskIdP);
        dbP = mdlDialog_find (id, ownerMD);
        }
    else
        {
        dbP = mdlDialog_find (id, NULL);
        }

    if (mdlDialog_closeCommandQueue (dbP))
        {
        return !SUCCESS;
        }
    else
        {
        return NULL;
        }
    }

/*----------------------------------------------------------------------+
|
|   name        dialogHook
|
|   author      BSI                                         1/2000
|
+----------------------------------------------------------------------*/
Private void dialogHook
(
DialogMessage *dmP /* => a ptr to a dialog message */
)
    {
    /* Set to TRUE if dealing with any of the following messages/events */
    dmP->msgUnderstood = TRUE;

    /* Only look for specific events */
    switch (dmP->messageType)
        {
        /* This is called when the dialog box is created in memory
           and before being displayed. No dialog items have been created
           at this point. This is also where we can specify
           additional events to be processed for this item */
        case DIALOG_MESSAGE_CREATE:
            {
            /* Create an interest in button clicks on our dialog box */
            dmP->u.create.interests.mouses = TRUE;
            break;
            }

        case DIALOG_MESSAGE_BUTTON:
            {
            if (dmP->u.button.buttonTrans == BUTTONTRANS_DOWN)
                {
                /* Exit the current MDL application */
                dialogClose (DIALOGID_DIALOG1, NULL);
                exitApplication ();
                }
            break;    
            }

        default:
            /* Set value to FALSE for all other messages */
            dmP->msgUnderstood = FALSE;
            break;
        }                                       
    }

/*----------------------------------------------------------------------+
|
|   name        genericItemHook
|
|   author      BSI                                         1/2000
|
+----------------------------------------------------------------------*/
Private void genericItemHook
(
DialogItemMessage *dimP /* => a ptr to a dialog item message */
)    
    {
    /*
        This function is called to process the generic item
        i.e. display the image on our dialog box.
    */
    dimP->msgUnderstood = TRUE;        /* Only look for specific events */
    switch (dimP->messageType)        {        /* This is called when the dialog item is created in memory*/
        case DITEM_MESSAGE_CREATE:            {            DialogItem  *diP = dimP->dialogItemP;            Point2d     itemSize;            char        fullFileSpec[MAXFILELENGTH + 1];            byte        *rgbBufferP;                                   /* Calculate the size of the item on the dialog box */
            itemSize.x = diP->rect.corner.x - diP->rect.origin.x + 1;            itemSize.y = diP->rect.corner.y - diP->rect.origin.y + 1;
            /* Make sure the image file exists */
            if (! mdlFile_find (fullFileSpec, diP->rawItemP->labelP, "d:\\lg_app_mdl\\splash\\", ".jpg"))                {                /* Read the file into memory */
                if (! mdlImage_readFileToRGB (&rgbBufferP, NULL, fullFileSpec,                                              -1,&itemSize, NULL))
                    {
                    /* Associate the memory to our dialog as user data */
                    mdlDialog_userDataPtrSet (dimP->db, rgbBufferP);                    }
                }            break;            }            /* This is called whenever a redraw is required */
        case DITEM_MESSAGE_DRAW:            {            int         i, rowLength;            byte        *redP, *greenP, *blueP;            DialogItem  *diP = dimP->dialogItemP;            /* Get the current pointer to our image */
            if (redP = mdlDialog_userDataPtrGet (dimP->db))                {                rowLength = diP->rect.corner.x - diP->rect.origin.x + 1;                greenP = redP  + rowLength;                blueP = greenP + rowLength;                /* Display all rows of the imeage */
                for (i = diP->rect.origin.y; i <= diP->rect.corner.y; i++)                    {                    /* Draw the current row of the image */
                    mdlDither_drawRow (dimP->db, diP->rect.origin.x,                                        diP->rect.corner.x, i,                                       redP, greenP, blueP);
                    /* Increment the RGB pointers */
                    redP   += 3 * rowLength;                    greenP += 3 * rowLength;                    blueP  += 3 * rowLength;                    }
                }
            /* Draw a frame/border around the image */
            mdlDialog_rectDrawEdge (dimP->db, &diP->rect, TRUE);            break;            }
        /* This is called when the dialog item has been destroyed */    
        case DITEM_MESSAGE_DESTROY:            {            byte *imageP;                /* Free the memory associated with the image */
            if (imageP = mdlDialog_userDataPtrGet (dimP->db))
                {
                free (imageP);                }
            break;            }                default:            /* Set value to FALSE for all other messages */
            dimP->msgUnderstood = FALSE;            break;        }    }       

/*----------------------------------------------------------------------+
|
|	name        timerFunc
|
|   author      BSI                                         1/2000
|
+----------------------------------------------------------------------*/
Private void timerFunc
(
int	userArg,
int	timerHandle
)
    {
    static boolean  hasRun = FALSE;
    static int      startTicks = 0;
    static int      elapsedTime = 0;
    
    /* Run only once */
    if (hasRun == FALSE)
        {
        /* Record time started */
        startTicks = mdlSystem_getTicks ();
        hasRun = TRUE;
        }

    /* Get elapsed time from start */
    elapsedTime = ((mdlSystem_getTicks () - startTicks) / 60);

    /* When elapsed time equals the expireTime */
    if (elapsedTime == expireTime)
	    {
	    /* Exit the current MDL application */
		dialogClose (DIALOGID_DIALOG1, NULL);
	    exitApplication ();
	    }
    }

/*----------------------------------------------------------------------+
|
|	name        timerStart
|
|   author      BSI                                         1/2000
|
+----------------------------------------------------------------------*/
Private void timerStart
(
void
)
    {
    int timerHandle = 0;
    
    /* Set our timer function's hook */
    mdlSystem_setTimerFunction (&timerHandle, 60, timerFunc, NULL, TRUE);
    }

/*----------------------------------------------------------------------+
|
|   publishHooks
|
|   author      BSI                                         12/1998
|
+----------------------------------------------------------------------*/
Private void publishHooks
(
void
)
    {
    static DialogHookInfo uHooks[] = 
        {
        {HOOKDIALOGID_DIALOG1,  dialogHook},
        {HOOKITEMID_IMAGE,      genericItemHook},
        }; 

    mdlDialog_hookPublish (sizeof (uHooks) / sizeof (DialogHookInfo), uHooks);
    }

/*----------------------------------------------------------------------+
|
|   name        openResources
|
|   author      BSI                                         12/1998
|
+----------------------------------------------------------------------*/
Private void openResources
(
void
)
    {
    RscFileHandle rscH;

    if (mdlResource_openFile (&rscH, NULL, RSC_READONLY) != SUCCESS)
        {
        mdlOutput_error ("Unable to load Resource File.");
        }
    }

/*----------------------------------------------------------------------+
|                                   
|   name        main                                
|
|   author      BSI                                         12/1998
|                                   
+----------------------------------------------------------------------*/
Private int main 
(
int     argc,   /* => Number of arguments passed in argv */
char    *argv[] /* => Array of pointers to arguments */
)   
    {
    /* Open our application for use with the Resource Manager */
    openResources ();

    /* Publish hook functions for our dialog box and items */
    publishHooks ();

    /* If user is calling within MicroStation */
    if (strcmp (argv[1], "USER") != SUCCESS)
        {
        dialogCenter (DIALOGID_DIALOG1);
        timerStart ();
        }
    else
        {
        /* User is processing in an off line mode */
        /* Init applications - Not yet implemented */

        //mdlSystem_enterGraphicsExtended (1);
        //timerStart ();
        
        /* Exit the current MDL application */
		printf("defe");
        exitApplication ();
        return SUCCESS;
        }

    return SUCCESS;
    }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久免费| 五月天国产精品| 久久精品一二三| 欧美大片在线观看一区| 日韩三级高清在线| 日韩欧美成人一区二区| 日韩精品一区在线观看| 日韩一级免费一区| 精品国产乱码久久久久久闺蜜| 日韩免费看的电影| 久久午夜免费电影| 国产农村妇女毛片精品久久麻豆| 国产亚洲欧美在线| 国产精品成人免费精品自在线观看| 国产三级精品视频| 国产精品久久久久久久午夜片| 中文字幕日本不卡| 亚洲精品欧美综合四区| 亚洲成在线观看| 日韩电影免费在线看| 久久99国产精品麻豆| 国产成人av一区二区| 9色porny自拍视频一区二区| 91欧美一区二区| 欧美视频一区在线观看| 欧美一区二区视频在线观看2020| 欧美一级精品大片| 国产日韩欧美精品电影三级在线| 国产精品高潮呻吟| 午夜成人免费视频| 激情伊人五月天久久综合| 不卡av在线免费观看| 日本电影欧美片| 欧美一区二区三区婷婷月色| 午夜a成v人精品| 久久99精品久久久| caoporn国产精品| 欧美色区777第一页| 日韩免费电影一区| 亚洲欧美在线高清| 日韩精品一二区| 国产福利不卡视频| 欧美视频在线一区| 久久久三级国产网站| 亚洲欧美韩国综合色| 蜜臀a∨国产成人精品| 成人福利在线看| 9191精品国产综合久久久久久 | 久久免费精品国产久精品久久久久 | 不卡视频在线看| 欧美三级日韩三级| 久久精品综合网| 亚洲v中文字幕| 国产成a人无v码亚洲福利| 欧美优质美女网站| 2020国产精品自拍| 亚洲国产裸拍裸体视频在线观看乱了| 精品亚洲成a人| 91福利区一区二区三区| 久久网这里都是精品| 丝袜国产日韩另类美女| 成人免费精品视频| 日韩免费视频线观看| 亚洲九九爱视频| 国产在线精品一区在线观看麻豆| 日本精品视频一区二区三区| 久久综合一区二区| 日韩综合在线视频| 在线日韩国产精品| 欧美国产国产综合| 韩国女主播一区| 欧美日韩成人高清| 亚洲免费在线看| 成人涩涩免费视频| 精品国产亚洲一区二区三区在线观看| 亚洲伊人伊色伊影伊综合网| 丁香激情综合国产| 久久久噜噜噜久久中文字幕色伊伊| 亚洲成在人线在线播放| 色综合久久精品| 国产色91在线| 狠狠色狠狠色合久久伊人| 在线播放亚洲一区| 亚洲小说欧美激情另类| 99re这里只有精品首页| 国产女主播在线一区二区| 激情深爱一区二区| 精品日产卡一卡二卡麻豆| 午夜国产不卡在线观看视频| 在线区一区二视频| 一区二区三区精品| 91香蕉视频污在线| 中文字幕一区二区不卡| 成人av影院在线| 国产欧美久久久精品影院| 国产一区不卡视频| 久久综合九色综合欧美98| 极品少妇xxxx精品少妇| 欧美sm美女调教| 免费人成黄页网站在线一区二区| 欧美精品久久久久久久久老牛影院| 亚洲美女屁股眼交3| 在线中文字幕一区| 亚洲一级电影视频| 欧美日韩电影一区| 人人狠狠综合久久亚洲| 51精品久久久久久久蜜臀| 日本在线不卡视频| 日韩视频永久免费| 国产一区在线精品| 日本一区二区三区在线不卡| 成人免费高清在线观看| 国产精品高潮呻吟久久| 色综合欧美在线| 亚洲一二三区在线观看| 制服丝袜在线91| 美国十次了思思久久精品导航| 精品久久99ma| 国产成人av自拍| 亚洲欧美国产三级| 欧美男生操女生| 九九精品一区二区| 中文在线一区二区| 色综合久久88色综合天天免费| 亚洲在线中文字幕| 日韩亚洲欧美在线| 国产成人精品综合在线观看| 国产精品久久久久三级| 欧美无砖砖区免费| 蜜臀久久久久久久| 国产欧美日韩综合精品一区二区| 成人高清免费观看| 亚洲高清免费一级二级三级| 欧美一区二区在线免费观看| 国产一区二区美女| 亚洲女与黑人做爰| 91精品国产91综合久久蜜臀| 国产激情一区二区三区桃花岛亚洲| 国产精品素人视频| 欧美日韩国产色站一区二区三区| 久久国产福利国产秒拍| 国产精品看片你懂得| 欧美色偷偷大香| 国产精品羞羞答答xxdd| 一区二区三区中文免费| 精品久久久久久综合日本欧美| 风间由美一区二区三区在线观看 | 91精品国产黑色紧身裤美女| 国产成人亚洲精品狼色在线 | 精品一区二区三区影院在线午夜 | 日韩精品一级二级 | 中文字幕日韩一区| 91精品国产综合久久小美女| 国产69精品一区二区亚洲孕妇| 一区二区三区四区五区视频在线观看 | 日韩av不卡一区二区| 中文字幕免费一区| 欧美二区乱c少妇| 不卡电影一区二区三区| 免费看日韩精品| 亚洲色图一区二区| 久久一区二区三区四区| 欧美网站一区二区| 国产成人丝袜美腿| 日本不卡一二三| 亚洲欧美日本在线| 国产女人aaa级久久久级| 这里只有精品电影| 91蝌蚪porny| 国产另类ts人妖一区二区| 婷婷久久综合九色国产成人 | 精品一区二区免费视频| 亚洲在线观看免费| 中文在线免费一区三区高中清不卡| 一区在线观看免费| www国产亚洲精品久久麻豆| 欧美日免费三级在线| 99热国产精品| 国产麻豆精品视频| 美女一区二区在线观看| 午夜私人影院久久久久| 亚洲欧美乱综合| 国产精品色噜噜| 国产午夜一区二区三区| 日韩欧美激情在线| 欧美日韩亚洲综合一区二区三区| av激情亚洲男人天堂| 国产精品一区二区91| 激情小说欧美图片| 免费在线欧美视频| 婷婷综合五月天| 亚洲国产一区二区视频| 亚洲乱码一区二区三区在线观看| 国产日韩一级二级三级| 精品国产一区二区三区忘忧草| 欧美一区二区三区白人| 51精品久久久久久久蜜臀| 欧美日韩国产另类不卡| 精品视频色一区| 欧美酷刑日本凌虐凌虐|