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

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

?? image.c

?? b Rew book for brew phone design
?? C
?? 第 1 頁 / 共 2 頁
字號:
  /*===========================================================================

FILE: image.c
===========================================================================*/


/*===============================================================================
INCLUDES AND VARIABLE DEFINITIONS
=============================================================================== */
#include "AEEModGen.h"          // Module interface definitions
#include "AEEAppGen.h"          // Applet interface definitions
#include "AEEShell.h"           // Shell interface definitions
#include "AEEImage.h"
#include "AEE.h"
#include "image.bid"
#include "AEEDisp.h"
#include "image_res.h"
#include "AEEStdlib.h"
//定義采樣頻率,隔sample取一
//the explanation of the sampleX and sampleY
//sampleX and sampleY are integer number, 100 stand for 1:1 ; 50 stand for 1:0.5 ;300 stand for 1:3

typedef struct _IMAGE
{
	AEEApplet a;
	IBitmap * m_pBitmap; //原位圖指針
	IBitmap * m_pBitmap_OBJ;//目標位圖指針
	IBitmap * m_pBitmap_OBJ_OBJ;//第二個目標位圖
	IBitmap * pbmScreen;//屏幕顯示指針
    //int16 x;
	//int16 y;
	//AEEBitmapInfo pinfo;
	NativeColor pColor; //象素點的顏色
    uint16 i;//循環變量,要足夠大,即65536>原位圖文件的長和寬
	uint16 j;

	uint32 timer1;//用來記錄loadbitmap的時間
	uint32 timer2;//用來記錄顯示源位圖的時間
//	uint32 timer3;//用來記錄縮放并顯示的時間
	
	AECHAR timer_char1[32];
    AECHAR timer_char2[32];
//    AECHAR timer_char3[32]={0};

   AEEBitmapInfo  bi;

//   uint16    new_x;
//   uint16    new_y;

} MyImage;

/*-------------------------------------------------------------------
Function Prototypes
-------------------------------------------------------------------*/
static boolean image_HandleEvent(IApplet * pi, AEEEvent eCode, 
                                      uint16 wParam, uint32 dwParam);

static int Bitmap_LoadResources(MyImage *pMe);

static int Bitmap_sampling(MyImage *pMe,uint16 sampleX, uint16 sampleY);


/*===============================================================================
FUNCTION DEFINITIONS
=============================================================================== */

/*===========================================================================

FUNCTION: AEEClsCreateInstance

DESCRIPTION
	This function is invoked while the app is being loaded. All Modules must provide this 
	function. Ensure to retain the same name and parameters for this function.
	In here, the module must verify the ClassID and then invoke the AEEApplet_New() function
	that has been provided in AEEAppGen.c. 

   After invoking AEEApplet_New(), this function can do app specific initialization. In this
   example, a generic structure is provided so that app developers need not change app specific
   initialization section every time except for a call to IDisplay_InitAppData(). 
   This is done as follows: InitAppData() is called to initialize AppletData 
   instance. It is app developers responsibility to fill-in app data initialization 
   code of InitAppData(). App developer is also responsible to release memory 
   allocated for data contained in AppletData -- this can be done in 
   IDisplay_FreeAppData().

PROTOTYPE:
   int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)

PARAMETERS:
	clsID: [in]: Specifies the ClassID of the applet which is being loaded

	pIShell: [in]: Contains pointer to the IShell object. 

	pIModule: pin]: Contains pointer to the IModule object to the current module to which
	this app belongs

	ppObj: [out]: On return, *ppObj must point to a valid IApplet structure. Allocation
	of memory for this structure and initializing the base data members is done by AEEApplet_New().

DEPENDENCIES
  none

RETURN VALUE
  AEE_SUCCESS: If the app needs to be loaded and if AEEApplet_New() invocation was
     successful
  EFAILED: If the app does not need to be loaded or if errors occurred in 
     AEEApplet_New(). If this function returns FALSE, the app will not be loaded.

SIDE EFFECTS
  none
===========================================================================*/
int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)
{
   *ppObj = NULL;
   if(ClsId == AEECLSID_IMAGE){
      if(AEEApplet_New(sizeof(MyImage), ClsId, pIShell,po,(IApplet**)ppObj,
         (AEEHANDLER)image_HandleEvent,NULL)
         == TRUE)
      {
		 // Add your code here .....

         return (AEE_SUCCESS);
      }
   }
	return (EFAILED);
}

/*===========================================================================

FUNCTION image_HandleEvent

DESCRIPTION
	This is the EventHandler for this app. All events to this app are handled in this
	function. All APPs must supply an Event Handler.

PROTOTYPE:
	boolean image_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)

PARAMETERS:
	pi: Pointer to the AEEApplet structure. This structure contains information specific
	to this applet. It was initialized during the AEEClsCreateInstance() function.

	ecode: Specifies the Event sent to this applet

   wParam, dwParam: Event specific data.

DEPENDENCIES
  none

RETURN VALUE
  TRUE: If the app has processed the event
  FALSE: If the app did not process the event

SIDE EFFECTS
  none
===========================================================================*/
static boolean image_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{  
	MyImage *pMe = (MyImage *)pi;
	int i;
//	uint32 time;
// 	AECHAR fmt[]={'%','d',0};
//   	AECHAR score_name[32]={0};


	switch (eCode) 
	{
      case EVT_APP_START:                        
	      
//		  pMe->timer_char1[32]=0;
//          pMe->timer_char2[32]={0};
		  for(i=0;i<32;i++)
		  {
			  pMe->timer_char1[i]=0;
              pMe->timer_char2[i]=0;
		  }
        IDISPLAY_Update(pMe->a.m_pIDisplay); 
		

      		return(TRUE);
      
	  case EVT_APP_STOP:
		  //Free the memory
		  if (pMe->m_pBitmap) {
		  	  IBITMAP_Release(pMe->m_pBitmap);
			  pMe->m_pBitmap=NULL;
		  }
		  if (pMe->m_pBitmap_OBJ) {
		  	  IBITMAP_Release(pMe->m_pBitmap_OBJ);
			  pMe->m_pBitmap_OBJ=NULL;
		  }
		  if (pMe->m_pBitmap_OBJ_OBJ) {
		  	  IBITMAP_Release(pMe->m_pBitmap_OBJ_OBJ);
			  pMe->m_pBitmap_OBJ_OBJ=NULL;
		  }
		  if (pMe->pbmScreen) {
              IBITMAP_Release(pMe->pbmScreen);
              pMe->pbmScreen=NULL;
		  }

		  return TRUE;
	  
	  case EVT_KEY:
		  switch(wParam) {

          case AVK_1 :
			  
			//取樣函數
			//sampling(pMe,pMe->m_pBitmap,pMe->m_pBitmap_OBJ,sampleX,sampleY);
            //////////////////////////////////////////////////////////////////////////
	       Bitmap_LoadResources(pMe);
//		   Bitmap_sampling(pMe,50,50);
           IDISPLAY_Update(pMe->a.m_pIDisplay);
		   return TRUE;
		   //按下2,以另外的一個比例縮放
		  case AVK_2 :
		   Bitmap_sampling(pMe,50,50);
           IDISPLAY_Update(pMe->a.m_pIDisplay);

			  return TRUE;
		  case AVK_3:

			  //time=ISHELL_GetTimeMS(pMe->a.m_pIShell);
	            
	          //WSPRINTF(score_name,32,fmt,time);

              IDISPLAY_DrawText(pMe->a.m_pIDisplay,AEE_FONT_NORMAL,pMe->timer_char1,-1,20,20,NULL,NULL);
			  IDISPLAY_DrawText(pMe->a.m_pIDisplay,AEE_FONT_NORMAL,pMe->timer_char2,-1,20,50,NULL,NULL);
			  
			  IDISPLAY_Update(pMe->a.m_pIDisplay);
		  default:
            break;
		  }
          
		break;

      default:
         break;
   }
   return FALSE;
}


/*===========================================================================
   FUNCTION Bitmap_LoadResources
===========================================================================*/
#define CHECK_ERROR(e)  nErr = (e);             \
                        if (SUCCESS != nErr) {  \
                           goto Error;          \
                        }
#define CHECK_NULL(e)   if (NULL == (e)) {      \
                           nErr = EFAILED;      \
                           goto Error;          \
                        }
//////////////////////////////////////////////////////////////////////////
//FUNCTION BITMAP_LOADRESOURCES
//////////////////////////////////////////////////////////////////////////
static int Bitmap_LoadResources(MyImage *pMe)//, uint16 sampleX, uint16 sampleY)
{
   IBitmap       *pbmDib = NULL;
   IBitmap       *pbmDdb = NULL;
//   AEEBitmapInfo  bi;
   int            nErr;
   //顯示時間
   uint32 time1;
   uint32 time2;
   AECHAR fmt[]={'%','d',0};
//   AECHAR score_name[32]={0};

   			  time1=ISHELL_GetTimeMS(pMe->a.m_pIShell);
	            

//    CHECK_ERROR(ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_IMAGE, (void**)&pMe->pISprite));
   CHECK_NULL(pMe->pbmScreen = IDISPLAY_GetDestination(pMe->a.m_pIDisplay));
   // load the res by the name of the file
//   CHECK_NULL(pbmDib = ISHELL_LoadBitmap(pMe->a.m_pIShell, "lina.bmp"));  //.bmpstage
   // load the res by the ID of the Resource
   CHECK_NULL(pbmDib=ISHELL_LoadResBitmap(pMe->a.m_pIShell,IMAGE_RES_FILE,IM_LINA));
   CHECK_ERROR(IBITMAP_GetInfo(pbmDib, &pMe->bi, sizeof(pMe->bi)));
   CHECK_ERROR(IBITMAP_CreateCompatibleBitmap(pMe->pbmScreen, &pMe->m_pBitmap, (uint16)pMe->bi.cx, (uint16)pMe->bi.cy));
   CHECK_ERROR(IBITMAP_BltIn(pMe->m_pBitmap, 0, 0, (uint16)pMe->bi.cx, (uint16)pMe->bi.cy, pbmDib, 0, 0, AEE_RO_COPY));
    
   //to display the original bitmap::pMe->m_pBitmap
   IDISPLAY_BitBlt(pMe->a.m_pIDisplay,0,0,(uint16)(pMe->bi.cx),(uint16)(pMe->bi.cy),pMe->m_pBitmap,0,0,AEE_RO_COPY);
   
   //計算timer1的值,并保存在數組中
   time2=ISHELL_GetTimeMS(pMe->a.m_pIShell);
   pMe->timer1 = time2 - time1;
   WSPRINTF(pMe->timer_char1,32,fmt,pMe->timer1);//pMe->timer1);

   //////////////////////////////////////////////////////////////////////////


   IBITMAP_Release(pbmDib);
   pbmDib = NULL;

   Error:
   if (pbmDib) {
      IBITMAP_Release(pbmDib);
   }
   if (pbmDdb) {
      IBITMAP_Release(pbmDdb);
   }

   return nErr;

}
//////////////////////////////////////////////////////////////////////////
//FUNCTION SAMPLING
//////////////////////////////////////////////////////////////////////////
static int Bitmap_sampling(MyImage * pMe,uint16 sampleX, uint16 sampleY)
{

	uint16            new_x;
    uint16            new_y;
	   int            nErr;
    uint32            time1;
	uint32            time2;
   AECHAR fmt[]={'%','d',0};

	new_x=0;
	new_y=0;

//記錄起始時間
	   			  time1=ISHELL_GetTimeMS(pMe->a.m_pIShell);

   
   //創建目標位圖的兼容位圖pMe->m_pBitmap_OBJ,對X軸按照要求變換,而Y坐標不變
   CHECK_ERROR(IBITMAP_CreateCompatibleBitmap(pMe->pbmScreen, &pMe->m_pBitmap_OBJ, (uint16)((uint16)(pMe->bi.cx)*sampleX/100), (uint16)((uint16)pMe->bi.cy)));
   //////////////////////////////////////////////////////////////////////////
   //////////////////////////////////////////////////////////////////////////
   //對X軸按照要求變換

   		for(pMe->j=0;pMe->j<=(uint16)pMe->bi.cy;pMe->j++)//Y軸不變

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜狠狠成人网p站| 国产九九视频一区二区三区| 99久久夜色精品国产网站| 久久亚洲一级片| 国产乱人伦偷精品视频免下载| 精品国产一区二区三区不卡| 国内偷窥港台综合视频在线播放| 日韩欧美国产综合一区| 麻豆成人久久精品二区三区红 | 成人高清视频在线| 中文字幕不卡在线播放| 成人在线综合网站| 亚洲免费视频成人| 91精品国产一区二区三区香蕉| 麻豆精品一区二区综合av| 久久久九九九九| 不卡在线视频中文字幕| 夜夜夜精品看看| 欧美电影免费观看完整版| 91亚洲资源网| 蜜桃av一区二区| 欧美激情综合在线| 欧美特级限制片免费在线观看| 美脚の诱脚舐め脚责91| 国产精品久久久99| 97精品电影院| 亚洲国产综合色| 精品久久久久一区二区国产| 国产一区二区三区在线观看精品| 久久久精品综合| 91一区二区在线观看| 亚洲国产日日夜夜| 91精品国产免费久久综合| 久久超碰97人人做人人爱| 久久中文字幕电影| a美女胸又www黄视频久久| 亚洲免费av网站| 欧美猛男gaygay网站| 久久99精品一区二区三区三区| 久久精品一区二区三区不卡牛牛 | 国产一区二区视频在线播放| 日本一区二区成人| 欧美影视一区二区三区| 一区二区欧美精品| 欧美性三三影院| 亚洲成人av一区| 久久毛片高清国产| 色老综合老女人久久久| 日韩av一级片| 亚洲色图在线播放| 欧美一区二区日韩一区二区| 在线看国产一区二区| 日韩国产精品久久| 欧美激情在线免费观看| 欧美日韩国产综合草草| 国产伦精品一区二区三区视频青涩| 中文无字幕一区二区三区| 欧美亚洲日本一区| 国产一区二区看久久| 亚洲综合久久久久| 国产欧美一区二区精品仙草咪| 91精彩视频在线| 黄网站免费久久| 亚洲成在人线免费| 中文字幕免费在线观看视频一区| 欧美日韩一区二区三区免费看 | 亚洲国产精品久久久久秋霞影院| 日韩免费观看高清完整版| 99久精品国产| 国产一区二区三区在线看麻豆| 亚洲国产精品久久人人爱| 欧美国产欧美亚州国产日韩mv天天看完整 | 视频在线观看91| 国产精品免费看片| 日韩丝袜情趣美女图片| 日本丰满少妇一区二区三区| 国产一区二区在线视频| 蜜桃传媒麻豆第一区在线观看| 一区二区三区不卡视频在线观看 | 亚洲精品视频在线看| 国产亚洲一二三区| 日韩一区二区精品葵司在线| 在线观看日韩毛片| 91一区二区三区在线观看| 国产99久久精品| 国产九色sp调教91| 狠狠色狠狠色综合| 免费成人小视频| 一区二区高清在线| 国产精品乱人伦一区二区| 欧美videofree性高清杂交| 日本道精品一区二区三区| 成人深夜视频在线观看| 国产一区高清在线| 国产乱码一区二区三区| 激情久久久久久久久久久久久久久久| 亚洲成av人片在线观看无码| 一区二区三区在线免费| 亚洲免费三区一区二区| 综合av第一页| 亚洲精品乱码久久久久久| 亚洲欧美另类图片小说| 亚洲欧美日韩成人高清在线一区| 国产精品亲子乱子伦xxxx裸| 国产欧美视频一区二区| 中文字幕av免费专区久久| 国产精品久久精品日日| 亚洲乱码精品一二三四区日韩在线 | 亚洲一线二线三线久久久| 一区二区三区.www| 偷拍自拍另类欧美| 日韩成人精品在线| 九九**精品视频免费播放| 精彩视频一区二区三区| 国产一区二区精品久久91| 国精产品一区一区三区mba桃花 | 久久国产夜色精品鲁鲁99| 蜜桃一区二区三区在线| 精品一区二区三区在线视频| 国产成人综合在线| fc2成人免费人成在线观看播放| 色综合一区二区| 欧美日韩一区二区三区在线看| 日韩午夜精品视频| 国产欧美一区二区三区网站 | 成人a区在线观看| 91精品办公室少妇高潮对白| 在线成人高清不卡| 欧美成人a∨高清免费观看| www成人在线观看| 中文字幕亚洲成人| 日韩国产精品久久久| 国产高清精品久久久久| 一本色道综合亚洲| 欧美一级生活片| 中文字幕巨乱亚洲| 午夜a成v人精品| 国产成人一级电影| 欧美精品丝袜中出| 欧美韩日一区二区三区四区| 一区二区三区四区在线| 久久精品国产亚洲高清剧情介绍| 丰满少妇久久久久久久| 欧美日韩精品是欧美日韩精品| 久久久久国产精品麻豆| 夜夜嗨av一区二区三区中文字幕| 全国精品久久少妇| 国产+成+人+亚洲欧洲自线| 国产精品一级片在线观看| 成人黄色在线视频| 玉米视频成人免费看| 亚洲色欲色欲www| 成人免费视频在线观看| 国产suv精品一区二区三区| 色乱码一区二区三区88| 精品久久人人做人人爽| 亚洲制服丝袜av| 懂色av中文一区二区三区| 欧美三级电影网| 中文字幕一区二| 国产高清精品在线| 欧美变态tickle挠乳网站| 一区二区三区波多野结衣在线观看| 精品无人码麻豆乱码1区2区 | 精品在线观看视频| 精品视频在线视频| 中文字幕中文字幕在线一区| 蜜臀国产一区二区三区在线播放| 在线一区二区三区做爰视频网站| 久久亚洲一级片| 麻豆成人av在线| 欧美另类高清zo欧美| 国产精品福利一区二区| 久久www免费人成看片高清| 91香蕉视频mp4| 久久精品这里都是精品| 久久 天天综合| 91精品午夜视频| 亚洲一二三区在线观看| 91啦中文在线观看| 中文字幕亚洲区| 成人黄色777网| 国产精品网站在线观看| 国产一区二区主播在线| 欧美sm极限捆绑bd| 久久电影国产免费久久电影| 777午夜精品视频在线播放| 国产精品天干天干在观线| 国产成人一级电影| 日韩精品中文字幕一区二区三区 | 中文字幕国产一区二区| 国产在线精品免费| 久久一区二区三区国产精品| 亚洲精品国产无套在线观| 色综合久久中文综合久久牛| 亚洲欧洲三级电影| 91丨九色porny丨蝌蚪| 18成人在线观看| 91久久精品一区二区三区| 国产亲近乱来精品视频|