コード例 #1
0
ファイル: sslider.c プロジェクト: shuntianxia/86Box
int SimpleSliderDelete(void * handler)
{
    SimpleSliderDesc * desc;
    if (NULL == handler) {
        return -1;
    }
    desc = (SimpleSliderDesc *)handler;
    if (desc->puzzleData) {
        esMEMS_Mfree(0, desc->puzzleData);
    }
    esMEMS_Mfree(0, handler);
    return 0;
}
コード例 #2
0
ファイル: dsk_radio_send.c プロジェクト: silview/C100A
__s32 dsk_radio_send_close(void)
{
	__s32 result = 0;
	
	if(dsk_radio_send == NULL)
	{
		__msg("radio send not open!\n");
		return EPDK_FAIL;
	}
	
	result = eLIBs_fioctrl(h_radio->fm_drv, DRV_FM_CMD_SEND_EXIT, 0, 0);	
	esMEMS_Mfree(0,dsk_radio_send);
	dsk_radio_send = NULL;
	
	return result;
}
コード例 #3
0
ファイル: sslider.c プロジェクト: shuntianxia/86Box
void * SimpleSliderNew(SimpleSliderClass * cls, int * bmps)
{
    SimpleSliderDesc * create;
    __size_t sz;
    sz = sizeof(SimpleSliderDesc) + (cls->bmp_nr * sizeof(int));
    create = (SimpleSliderDesc *)esMEMS_Malloc(0, sz);
    if (create) {
        eLIBs_memcpy((void *)&create->cls, (void *)cls, sizeof(SimpleSliderClass));
        create->drew_position = -1;
        create->puzzleDataSize = BYTESPERPIXEL * cls->puzzle.width * cls->puzzle.height;
        create->puzzleData = esMEMS_Malloc(0, create->puzzleDataSize);
        if (NULL == create->puzzleData) {
            esMEMS_Mfree(0, create);
            return NULL;
        }
        eLIBs_memcpy((void *)&create->bmps[0], (void *)bmps, (cls->bmp_nr * sizeof(int)));
    } else {
        return NULL;
    }
    return (void *)create;
}
コード例 #4
0
ファイル: stubs.c プロジェクト: esxgx/sc9800-epos-sdlx
void free(void *ptr)
{
	esMEMS_Mfree(NULL,ptr);
}
コード例 #5
0
ファイル: home.c プロジェクト: shuntianxia/86Box
static __s32 homeWndProc(__gui_msg_t * msg)
{
    HomeDescriptor * hdp;
    H_WIN wndGesture;
    EWin_InheritInfo_ForHeader * extWinIfno;
	H_WIN hwnd;
    char name[20];
	
    hdp = (HomeDescriptor *)GUI_WinGetAddData(msg->h_deswin);
    if (NULL == hdp) {
        if (GUI_MSG_CREATE != msg->id) {
            LogE("Failed to get home window private date, message ID (%d)", msg->id);
            return GUI_ManWinDefaultProc(msg);
        }
    }
   
    switch (msg->id) {
    case GUI_MSG_CREATE:
        hdp = homeWndInit(msg);
        if (!hdp) {
            GUI_PostQuitMessage(msg->h_deswin);
            LogE("Create Home window failed");
            return -1;
        }
		if(hdp->ewii.suspend){
           GUI_SetTimer(msg->h_deswin,SUSPEND_TIMER,6000,NULL);
		}else{
           __msg("suspend is null");
		}
        GUI_WinSetAddData(msg->h_deswin, (__u32)hdp);
        GUI_WinSetFocusChild(hdp->hFocusWin);
        break;
    case GUI_MSG_DESTROY:
        GG_GestureClose(hdp->inertia);
        if (hdp->ewii.gdi.font) {
            GUI_SFT_ReleaseFont(hdp->ewii.gdi.font);
        }
        esMEMS_Mfree(0, hdp);
        break;
    case GUI_MSG_TOUCH:
#ifdef THIS_DEBUG
        //LogMI("Touch:%x,%d,%d", msg->dwAddData1, LOSWORD(msg->dwAddData2), HISWORD(msg->dwAddData2));
#endif  
         if(standy_en){
	        if(hdp->ewii.suspend == 1){
		           dsk_display_lcd_on();
	        }else if(hdp->ewii.suspend == 2){
	            
			}else if(hdp->ewii.suspend == 3){
				GUI_LyrWinDelete(hdp->StandyWindow);
			}
			standy_en = 0;
			break;
         }
		 if(LOSWORD(msg->dwAddData2) > 320 || HISWORD(msg->dwAddData2) > 240){
		 	break;
		 }
		GUI_ResetTimer(msg->h_deswin,SUSPEND_TIMER,6000,NULL);
        if (GUI_MSG_TOUCH_DOWN == msg->dwAddData1) {
            wndGesture = EWin_GestureAttrCollect(GUI_WinGetFocusChild(msg->h_deswin), LOSWORD(msg->dwAddData2), HISWORD(msg->dwAddData2));
            if (wndGesture) {
                extWinIfno = GUI_WinGetAttr(wndGesture);
                GG_GestureOnDown(hdp->inertia, msg, LOSWORD(msg->dwAddData2), HISWORD(msg->dwAddData2), &extWinIfno->gestureArgs);
            }
        } else if (GUI_MSG_TOUCH_MOVE == msg->dwAddData1) {
            GG_GestureOnMove(hdp->inertia, msg, LOSWORD(msg->dwAddData2), HISWORD(msg->dwAddData2));
        } else if (GUI_MSG_TOUCH_UP == msg->dwAddData1) {
            GG_GestureOnUp(hdp->inertia, msg, LOSWORD(msg->dwAddData2), HISWORD(msg->dwAddData2));
        }else if(GUI_MSG_TOUCH_LONGDOWN == msg->dwAddData1){
            GG_GestureOnLpress(hdp->inertia, msg, LOSWORD(msg->dwAddData2), HISWORD(msg->dwAddData2));
		}
        break;
    case GUI_MSG_TIMER:
        if (HOME_GESTURE_TIMER == msg->dwAddData1) {
            GG_GestureOnTimer(hdp->inertia, msg);
        }else if(SUSPEND_TIMER == msg->dwAddData1){
         	if(!standy_en){
	            if(hdp->ewii.suspend==1){
	                 dsk_display_lcd_off();
					 //standy_en = 1;
				}else if(hdp->ewii.suspend==2){
	                 msg->h_deswin = GUI_WinGetFocusChild(msg->h_deswin);
					 msg->id = GUI_MSG_USER_GESTURE_DONE;
					 msg->dwAddData2 = MAKELONG(320,0);
					 GUI_PostMessage(msg);
					 //standy_en = 1;
				}else if(hdp->ewii.suspend==3){
					 hdp->StandyWindow = StandyWndCreate("d:\\res\\boot_ui\\logo.bmp");
				}else{
	                
				}
				standy_en = 1;
         	}
		}
        break;
    case GUI_MSG_USER_WIN_CHANGE:
        if (HOME_SUBWIN_UPDATE == msg->dwAddData2) {
			GUI_LyrWinSetSta(hdp->ewii.lyrLow,GUI_LYRWIN_STA_SLEEP);
			GUI_LyrWinSetSta(hdp->ewii.lyrHigher,GUI_LYRWIN_STA_SLEEP);
			GUI_LyrWinSetSta(hdp->ewii.inilyrHigher,GUI_LYRWIN_STA_SLEEP);
            hdp->hFocusWin = SettingWndCreate(&hdp->ewii);
			if(hdp->hFocusWin){
            	GUI_WinSetFocusChild(hdp->hFocusWin);
			}
        }else if(HOME_SUBWIN_SETTING_TIME== msg->dwAddData2){
			GUI_LyrWinSetSta(hdp->ewii.inilyrHigher,GUI_LYRWIN_STA_SLEEP);
			GUI_LyrWinSetSta(hdp->ewii.lyrHigher,GUI_LYRWIN_STA_SLEEP);
			GUI_LyrWinSetSta(hdp->ewii.lyrLow,GUI_LYRWIN_STA_SLEEP);
            hdp->hFocusWin = Setting_TimeWndCreate(&hdp->ewii);
			if(hdp->hFocusWin){
            	GUI_WinSetFocusChild(hdp->hFocusWin);
			}
		}else {
            if(GUI_ManWinDelete(hdp->hFocusWin)==ORANGE_OK){
            	GUI_WinSetFocusChild(GUI_WinGetFirstChild(msg->h_deswin));
			    GUI_LyrWinSetSta(hdp->ewii.lyrLow,GUI_LYRWIN_STA_ON);
				GUI_LyrWinSetSta(hdp->ewii.lyrHigher,GUI_LYRWIN_STA_ON);
				GUI_LyrWinSetSta(hdp->ewii.inilyrHigher,GUI_LYRWIN_STA_ON);
            }
        }
        break;
    default:
#ifdef THIS_DEBUG
//        LogMI("Unhandled home window message (%d)", msg->id);
#endif
		GUI_ManWinDefaultProc(msg);
        break;
    }
    return 0;
}
コード例 #6
0
ファイル: clock.c プロジェクト: shuntianxia/86Box
static __s32 clockWndProc(__gui_msg_t * msg)
{
    __u32 clockhands[CLOCKHANDS];
    FB fb;

    HTHEME hback;
    HBLOCK block;
    void * pic;
    int length;
    int start_x;
    int start_y;

    ClockPrivate * draw;
    draw = (ClockPrivate *)GUI_WinGetAttr(msg->h_deswin);
    if ((!draw) || (-1 == EWin_CheckInherit(&draw->scrolling.ewii)) ||
        (!(draw->scrolling.ewii.mask[0] & SCR_WNDINFOMASK_SBUTTON))) {
        LogE("Null or wrong scrolling page window private data");
        return -1;
    }
    switch (msg->id) {
    case GUI_MSG_CREATE:
		draw->scrolling.ewii.mask[0] |= SCR_WNDINFOMASK_GESTURE;
        clockhands[0] = ID_CLOCK_PNG_DIG_HAND_H1_BMP;
        clockhands[1] = ID_CLOCK_PNG_DIG_HAND_H2_BMP;
        clockhands[2] = ID_CLOCK_PNG_DIG_HAND_H3_BMP;
        clockhands[3] = ID_CLOCK_PNG_DIG_HAND_H4_BMP;
        clockhands[4] = ID_CLOCK_PNG_DIG_HAND_H5_BMP;
        clockhands[5] = ID_CLOCK_PNG_DIG_HAND_H6_BMP;
        clockhands[6] = ID_CLOCK_PNG_DIG_HAND_H7_BMP;
        clockhands[7] = ID_CLOCK_PNG_DIG_HAND_H8_BMP;
        draw->hhdl = picswap_quadrant_begin(clockhands, 25, 80);
        clockhands[0] = ID_CLOCK_PNG_DIG_HAND_M1_BMP;
        clockhands[1] = ID_CLOCK_PNG_DIG_HAND_M2_BMP;
        clockhands[2] = ID_CLOCK_PNG_DIG_HAND_M3_BMP;
        clockhands[3] = ID_CLOCK_PNG_DIG_HAND_M4_BMP;
        clockhands[4] = ID_CLOCK_PNG_DIG_HAND_M5_BMP;
        clockhands[5] = ID_CLOCK_PNG_DIG_HAND_M6_BMP;
        clockhands[6] = ID_CLOCK_PNG_DIG_HAND_M7_BMP;
        clockhands[7] = ID_CLOCK_PNG_DIG_HAND_M8_BMP;
        draw->mhdl = picswap_quadrant_begin(clockhands, 25, 80);
        clockhands[0] = ID_CLOCK_PNG_DIG_HAND_S1_BMP;
        clockhands[1] = ID_CLOCK_PNG_DIG_HAND_S2_BMP;
        clockhands[2] = ID_CLOCK_PNG_DIG_HAND_S3_BMP;
        clockhands[3] = ID_CLOCK_PNG_DIG_HAND_S4_BMP;
        clockhands[4] = ID_CLOCK_PNG_DIG_HAND_S5_BMP;
        clockhands[5] = ID_CLOCK_PNG_DIG_HAND_S6_BMP;
        clockhands[6] = ID_CLOCK_PNG_DIG_HAND_S7_BMP;
        clockhands[7] = ID_CLOCK_PNG_DIG_HAND_S8_BMP;
        draw->shdl = picswap_quadrant_begin(clockhands, 25, 80);
        draw->bgicon = ID_CLOCK_BMP_DIGITALCLOCK_BG_BMP;
        GUI_LyrWinGetFB(draw->scrolling.ewii.lyrLow, &fb);
        draw->bgblock = GUI_BlockCreateFrom(NULL, fb.size.width, fb.size.height, fb.addr[0], 0);
        GUI_LyrWinGetFB(draw->scrolling.ewii.lyrHigher, &fb);
        draw->forgblock = GUI_BlockCreateFrom(NULL, fb.size.width, fb.size.height, fb.addr[0], 0);
        esTIME_GetTime(&draw->tm);
		draw->minute = draw->tm.minute;
        draw->invalidate |= INVALIDATE_BACKGROUND|INVALIDATE_FOREGROUND;
        break;
    case GUI_MSG_DESTROY:
        GUI_BlockDelete(draw->forgblock);
        GUI_BlockDelete(draw->bgblock);
        picswap_quadrant_end(draw->shdl);
        picswap_quadrant_end(draw->mhdl);
        picswap_quadrant_end(draw->hhdl);
        esMEMS_Mfree(0, draw);
        break;
    case GUI_MSG_PAINT:
        if (draw->invalidate & INVALIDATE_BACKGROUND) {
#ifdef THIS_DEBUG
            log_d("Invalidate background");
#endif
            GUI_LyrWinSel(draw->scrolling.ewii.lyrLow);
            hback = dsk_Systheme_open(draw->bgicon);
            pic = dsk_Systheme_hdl2buf(hback);
            GUI_BMP_Draw(pic, draw->scrolling.wndRect.x, draw->scrolling.wndRect.y);
            dsk_theme_close(hback);
            pic = picget_clock_pic(draw->hhdl, (draw->tm.hour % 12) * 5 + (draw->tm.minute / 12), &length, &start_x, &start_y);
            block = GUI_BlockCreateFrom(NULL, length, length, pic, 0);
            GUI_BlockBitBlit(draw->bgblock, draw->scrolling.wndRect.x + start_x + WATCH_OFFSET_X,
                draw->scrolling.wndRect.y + start_y + WATCH_OFFSET_Y,
                block, NULL, BLITFLAG_COLORALPHA, NULL);
            GUI_BlockDelete(block);
            pic = picget_clock_pic(draw->mhdl, draw->tm.minute, &length, &start_x, &start_y);
            block = GUI_BlockCreateFrom(NULL, length, length, pic, 0);
            GUI_BlockBitBlit(draw->bgblock, draw->scrolling.wndRect.x + start_x + WATCH_OFFSET_X,
                draw->scrolling.wndRect.y + start_y + WATCH_OFFSET_Y,
                block, NULL, BLITFLAG_COLORALPHA, NULL);
            GUI_BlockDelete(block);
        }
        
		if (draw->invalidate & INVALIDATE_FOREGROUND) {
			GUI_LyrWinSel(draw->scrolling.ewii.lyrHigher);
			GUI_SetBkColor(0);
            GUI_ClearRect(draw->scrolling.wndRect.x, draw->scrolling.wndRect.y,
                draw->scrolling.wndRect.x + draw->scrolling.wndRect.width, draw->scrolling.wndRect.y + draw->scrolling.wndRect.height);
        }
        pic = picget_clock_pic(draw->shdl, draw->tm.second, &length, &start_x, &start_y);
        block = GUI_BlockCreateFrom(NULL, length, length, pic, 0);
        GUI_BlockBitBlit(draw->forgblock, draw->scrolling.wndRect.x + start_x + WATCH_OFFSET_X,
            draw->scrolling.wndRect.y + start_y + WATCH_OFFSET_Y,
            block, NULL, BLITFLAG_COLORSET, NULL);
        GUI_BlockDelete(block);

        draw->invalidate = INVALIDATE_NULL;
        break;
    //case GUI_MSG_USER_REPAINT_NEIGHBOR:
        //draw->invalidate |= (INVALIDATE_BACKGROUND | INVALIDATE_FOREGROUND);
    case GUI_MSG_TIMER:
        esTIME_GetTime(&draw->tm);
        if (draw->minute != draw->tm.minute) {
            draw->minute = draw->tm.minute;
            draw->invalidate |= INVALIDATE_BACKGROUND;
        }
#ifdef THIS_DEBUG
        log_mi("time: %d,%d,%d", draw->tm.hour, draw->tm.minute, draw->tm.second);
        log_mi("Date: %d,%d,%d", draw->date.year, draw->date.month, draw->date.day);
#endif
        __here__;
        GUI_WinUpdate(msg->h_deswin, ORANGE_TRUE);
        break;
    case GUI_MSG_SET_FOCUS:
        draw->invalidate |= (INVALIDATE_BACKGROUND | INVALIDATE_FOREGROUND);
        GUI_SetTimer(msg->h_deswin, 1, 100, NULL);
		__msg("12");
        return 0;
    case GUI_MSG_SET_UNFOCUS:
        GUI_KillTimer(msg->h_deswin, 1);
        return 0;
    default:
        break;
    }

    return GUI_FrmWinDefaultProc(msg);
}
コード例 #7
0
ファイル: utf16_big_parser.c プロジェクト: silview/C100A
static void utf16big_destroy(txtEncodeParser *thiz)
{
	esMEMS_Pfree(thiz->bufferTxt, 2*BufferLenght/1024);	
	esMEMS_Mfree(0, thiz);	
}
コード例 #8
0
ファイル: spinbox.c プロジェクト: silview/C100A
/*
**********************************************************************************************************************
*                                               _spinbox_ctrl_proc
*
* author:           
*
* date:             2009-8-4
*
* Description:      spinboxctrlproc 
*
* parameters:       
*
* return:           if success return ERDK_OK
*                   if fail return the number of fail
* modify history: 
**********************************************************************************************************************
*/
static int _spinbox_ctrl_proc (__gui_msg_t *msg)
{
	__u32					dwStyle;
	spinbox_data_t* 		pData;

	dwStyle = GUI_WinGetStyle(msg->h_deswin);

	switch(msg->id)
	{
		case GUI_MSG_CREATE:
			pData = (spinbox_data_t*) esMEMS_Malloc( 0, sizeof(spinbox_data_t) );
			if (pData == NULL) 
			{
				return EPDK_FAIL;
			}
			
			pData->draw_sts 	= 0;
			pData->status		= 0;
			pData->draw_flag 	= 0;
			pData->hmem 		= 0;
			pData->data 		= (__u32)GUI_WinGetAttr(msg->h_deswin);
			GUI_CtrlWinSetAddData(msg->h_deswin,(__u32)pData);
			return 0;
	   
		case GUI_MSG_DESTROY:
			pData = (spinbox_data_t*)GUI_CtrlWinGetAddData(msg->h_deswin);
			esMEMS_Mfree ( 0, (void *)GUI_CtrlWinGetAddData(msg->h_deswin) );
			return 0;

		case GUI_MSG_ENABLE:
			if (msg->dwAddData1 && (dwStyle & WS_DISABLED))
			{
				dwStyle &= ~WS_DISABLED;

				GUI_WinSetStyle(msg->h_deswin,dwStyle);
			}
			else if (!msg->dwAddData1 && !(dwStyle & WS_DISABLED))
			{
				dwStyle |= WS_DISABLED;

				GUI_WinSetStyle(msg->h_deswin,dwStyle);
			}
			else
			{
				return 0;
			}
			return 0;
	
		case GUI_MSG_SET_UNFOCUS:
			if(SPINBOX_STATUS(msg->h_deswin) & BST_FOCUS)
			{
				SPINBOX_STATUS(msg->h_deswin) &= (~BST_FOCUS);

				GUI_InvalidateRect (msg->h_deswin, NULL, EPDK_TRUE);
			}

			return 0;

		case GUI_MSG_SET_FOCUS:
			if(!(SPINBOX_STATUS(msg->h_deswin) & BST_FOCUS))
			{
				SPINBOX_STATUS(msg->h_deswin) |= BST_FOCUS;

				GUI_InvalidateRect (msg->h_deswin, NULL, EPDK_TRUE);
			}
			return 0;		
		
		case GUI_MSG_KEY:
			_key_proc(msg);
			return 0;
		
		case GUI_MSG_TOUCH:
			_touch_proc(msg);
			return 0;
	
		case GUI_MSG_PAINT:
			_spinbox_ctrl_paint(msg);
			return 0;

		default:
			break;
	}
	
	return GUI_CtrlWinDefaultProc (msg);
}