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

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

?? neo.h

?? NEO SDK是一個跨平臺的免費開源圖形軟件開發包。它支持基本繪圖、多種格式圖形顯示、鼠標操 作、擴展內存和擴充內存的操作、時鐘、音頻播放、多種字體的漢字及英文顯示等等特性;更激動人心的是
?? H
?? 第 1 頁 / 共 3 頁
字號:
         unsigned char m = 0x80;

         for(k = 0; k < 8; ++k)
         {
            if(cursor_p->mask[j] & m)
            {
               cursor_p->buffer[( y<<5 )+x] = (TPT8 + 16);
            }
            ++x;
            m >>= 1;
         }
      }
      ++y;
      x = 0;
   }
   fir_icon_color_pos(cursor_p->fir_cur_col);

   return cursor_p;
}
 
void blit_icon(Cursor_ptr cursor_p, int x, int y){
   int i, j;
   unsigned int color;

   if (g_color_depth == 8)
   {
      for(i=0; i<32; ++i)
      {
         for(j=0; j<32; j+=2)
         {
            if ((color=cursor_p->buffer[(i<<5)+j])  != (TPT8 + 16)) dot(x + j, y + i, color);
            if ((color=cursor_p->buffer[(i<<5)+j+1])!=(TPT8 + 16)) dot(x + j + 1,y + i, color);
         }
      }
   }
   else if (g_color_depth == 15 || g_color_depth == 16)
   {
      for(i=0; i<32; ++i)
      {
         for(j=0; j<32; j+=1)
         {
            if ((cursor_p->buffer[(i<<5)+j]) != (TPT8 + 16))
            {
               dot(x + j, y + i, cursor_p->color64k[cursor_p->buffer[(i<<5)+j]]);
            }
         }
      }
   }
}

void show_icon(char *curfile, int x, int y){
   Cursor_ptr cur_p;

   cur_p = load_icon(curfile);
   blit_icon(cur_p,x,y);
   free(cur_p);
}

char bitmap_color_depth(char *bmp){
    PALLETE pal;
    char cd;
    BITMAP *b = load_bitmap(bmp, pal);
    cd = bitmap_color_depth(b);
    destroy_bitmap(b);
    return cd;
}        

char show_bmp(char *bmpfile, int x, int y)
{
    PALLETE pal;
    BITMAP *bmp = load_bitmap(bmpfile, pal);
    if (bmp == NULL) return FALSE;
    
    if (bitmap_color_depth(bmp) == 8) set_palette(pal);
    blit(bmp, g_surface_ptr[g_work_surface], 0, 0, x, y, bmp->w, bmp->h);
    destroy_bitmap(bmp);
    return TRUE;
}

char _show_bmp(char *bmpfile, int x, int y)
{
    PALLETE pal;
    BITMAP *bmp = load_bitmap(bmpfile, pal);
    if (bmp == NULL) return FALSE;
    
    if (bitmap_color_depth(bmp) == 8) set_palette(pal);
    masked_blit(bmp, g_surface_ptr[g_work_surface], 0, 0, x, y, bmp->w, bmp->h);
    destroy_bitmap(bmp);
    return TRUE;
}

char _show_bmp_v_flip(char *bmpfile, int x, int y)
{
    PALLETE pal;
    BITMAP *bmp = load_bitmap(bmpfile, pal);
    if (bmp == NULL) return FALSE;
    
    if (bitmap_color_depth(bmp) == 8) set_palette(pal);
    draw_sprite_v_flip(g_surface_ptr[g_work_surface], bmp, x, y);
    destroy_bitmap(bmp);
    return TRUE;
}

char bmp_blit(char *bmpname, int source_x, int source_y, int dest_x, int dest_y, int width, int height){
    PALLETE pal;
    BITMAP *bmp = load_bitmap(bmpname, pal);
    if (bmp == NULL) return FALSE;
    
    if (bitmap_color_depth(bmp) == 8) set_palette(pal);
    blit(bmp, g_surface_ptr[g_work_surface], source_x, source_y, dest_x, dest_x, width, height);
    destroy_bitmap(bmp);
    return TRUE;
} 

char bmp_masked_blit(char *bmpname, int source_x, int source_y, int dest_x, int dest_y, int width, int height){
    PALLETE pal;
    BITMAP *bmp = load_bitmap(bmpname, pal);
    if (bmp == NULL) return FALSE;
    
    if (bitmap_color_depth(bmp) == 8) set_palette(pal);
    masked_blit(bmp, g_surface_ptr[g_work_surface], source_x, source_y, dest_x, dest_x, width, height);
    destroy_bitmap(bmp);
    return TRUE;
}

BITMAP *get_image(unsigned x0, unsigned y0, unsigned x1, unsigned y1){
    int w = x1 - x0;
    int h = y1 - y0;
    BITMAP *image = create_bitmap(w, h);
    if (image == NULL || w <= 0 || h <= 0) return NULL;

    blit(g_surface_ptr[g_work_surface], image, x0, y0, 0, 0, w, h);
    return image;
}

void put_image(BITMAP *image, int x, int y){
    blit(image, g_surface_ptr[g_work_surface], 0, 0, x, y, image->w, image->h);
}    

BITMAP *_load_bmp(char *filename){
    RGB *pal;
    BITMAP *bmp = load_bmp(filename, pal);
    if (bmp == NULL) return NULL;
    return bmp;
}

char blit(BITMAP *bmp){
    blit(bmp, g_surface_ptr[g_work_surface], 0, 0, 0, 0, bmp->w, bmp->h);
    return TRUE;
}

void free_bmp(BITMAP *bitmap){
    destroy_bitmap(bitmap);
}

char rect_save_screen(char *bmpfile, unsigned left, unsigned top, unsigned right, unsigned bottom){
    BITMAP *bmp;
    PALETTE pal;

    get_palette(pal);
    bmp = create_sub_bitmap(screen, left, top, right - left, bottom - top);
    if (bmp == NULL) return FALSE;
    save_bitmap(bmpfile, bmp, pal);
    destroy_bitmap(bmp);
    return TRUE;
}

char save_screen(char *bmpfile) {
    return rect_save_screen(bmpfile, 0, 0, SCREEN_W, SCREEN_H);
}

void show_mouse(void){
    show_mouse(screen);
}

void mouse_refresh(void){
    //update_mouse();
    //draw_mouse(TRUE, FALSE);
}

void set_dbl_click_delay(int userdelay){}

int  set_mouse_icon(char *p_iconfile){
    BITMAP *sprite;
    PALETTE p;
    if (p_iconfile)
    {
        sprite = load_bitmap(p_iconfile, p);
        set_mouse_sprite(sprite);
        //destroy_bitmap(sprite);    
        return TRUE;
    }
    else
    set_mouse_sprite(NULL);    
    return FALSE;
}

int  get_click_info(void){
    return mouse_b;
}       

void en_slant(char slant){
   if (slant != 0)   
      g_slant = slant > 0?1 : -1;
   else
      g_slant = 0;
}

void asc_out(char c, int cx, int cy, int color){
    char str[2];
    str[0] = c;
    str[1] = '\0';
    textout_ex(g_surface_ptr[g_work_surface], font, str, cx, cy, color, g_text_bg);
}

void textout(const char *str, int sx, int sy){
   int index;
   for (index = 0; str[index] != 0; index++)
   {
      asc_out(str[index], sx + (index << 3) + g_blank, sy, g_str_color);
   }
}

char put_chinese(char *string, int x, int y, int color, int blank){
   FILE *hzk_p;
   long fpos;       /*漢字在字庫文件中的偏移*/
   int  i, j, k, l;
   int asc_size = 0;/*用來或得當前英文字符的高*/
   char hz_buf[72]; /*漢字字模緩沖區,目前能支持24X24點陣字符的存放*/

   if ((hzk_p=fopen(g_hz_font,"rb+"))==NULL)/* 打開24點陣字庫文件 */
   {
      #ifndef NEO_sys_report_error_unused
      Errinfo_t error = {"put_chinese", NO_FILE, 1};
      throw_error(error);
      #endif
      return -1;
   }
   asc_size = abs(g_ilimit - text_height(font));
   while (*string != '\0')
   {
      if((*string & 0x80) == 0)/* 判斷是否是擴展ASCII */
      {
         asc_out(*string, x, y + asc_size, color);
         x += 8 + blank;
         string++;
      }
      else
      {
         char slant = 0;
         fpos = (((unsigned char)*string-0xa1 - g_start)*94 + ((unsigned char)*(string+1)-0xa1))*(long)g_hz_size;
         fseek(hzk_p, fpos, SEEK_SET);
         fread(hz_buf, g_hz_size, 1, hzk_p);

         if (g_hz_size <= 32) /*16點陣以下的字庫*/
         {
            for (i = 0; i < g_ilimit; ++i)
            {
               slant += g_slant;
               for (j = 0; j < g_jlimit; ++j)
               {
                  for (k = 0; k < 8; ++k)
                  {
                     if (((hz_buf[(i << 1) + j] >> 7 - k)) & 1)
                        dot(x + (j << 3) + k + slant, y + i, color);
                     else if (g_text_bg >= 0)
                        dot(x + (j << 3) + k + slant, y + i, g_text_bg);
                  }
               }
            }
         }
         else /*24點陣以上的字庫*/
         {
            for (i = 0; i < g_ilimit; ++i)
            {
               for (j = 0; j < g_jlimit; ++j)
               {
                  for (k = 1; k <= 8; ++k)
                  {
                     if ( (hz_buf[i * 3 + j] << k - 1) & 0x80 )
                        dot(x + i, y + (j << 3) + k - 1, color);
                     else if (g_text_bg >= 0)
                        dot(x + i, y + (j << 3) + k - 1, g_text_bg);
                  }
               }
            }
         }
         x += (g_ilimit + blank);
         string += 2;
      }
      if (text_callback)
         text_callback();
   }
   fclose(hzk_p);
   return 0;
}

void set_cn_font(char cn_size, char *cn_font){
   g_jlimit = 2;
   g_start  = 0;

   g_ilimit = cn_size;
   switch(cn_size)
   {
      case S12X12:
      g_hz_size= 24;
      g_hz_font= cn_font;
      g_hz_width= 12;
      break;
      case S16X16:
      g_hz_size= 32;
      g_hz_font= cn_font;
      g_hz_width= 16;
      break;
      case S24X24:
      g_jlimit = 3;
      g_hz_size= 72;
      g_start  = 15;
      g_hz_width= 24;
      g_hz_font= cn_font;
      break;
      default:
      g_ilimit = S16X16;
      g_hz_size= 32;
      g_hz_width= 16;
      g_hz_font= cn_font;
      break;
   }
}

void set_cn_size(char cn_size){
   switch(cn_size)
   {
      case S12X12:
      set_cn_font(S12X12, "HZK12");
      break;
      case S16X16:
      set_cn_font(S16X16, "HZK16");
      break;
      case S24X24:
      set_cn_font(S24X24, "HZK24S");
      break;
      default:
      set_cn_font(S16X16, "HZK16");
      break;
   }
}

int neo_printf(int x, int y, char *format, ...){
   char buffer[256];
   va_list argptr;
   int count;
   char err_m;

   va_start(argptr, format);
   count = vsprintf(buffer, format, argptr);
   va_end(argptr);

   #ifndef NEO_error_unused
   err_m = get_err_method();
   err_method(0);
   #endif
   if (put_chinese(buffer, x, y, g_str_color, g_blank))
      textout(buffer, x, y);
   #ifndef NEO_error_unused
   err_method(err_m);
   #endif
   return (count);
}

BITMAP *get_str_bitmap(char *string, int fc, int bc){
   BITMAP *str_bitmap;
   FILE *hzk_p;
   long fpos;       /*漢字在字庫文件中的偏移*/
   int  i, j, k, l, x = 0, y = 0;
   int asc_size = 0;/*用來或得當前英文字符的高*/
   int count;
   char hz_buf[72]; /*漢字字模緩沖區,目前能支持24X24點陣字符的存放*/

   if (count = strlen(string))
   {
      count % 2 ? count++ : 0;
      str_bitmap = create_bitmap((count >> 1) * (g_hz_width) + count, g_hz_width);
      if (str_bitmap)
         clear(str_bitmap);
      else
         return NULL;
   }   
      
   if ((hzk_p = fopen(g_hz_font, "rb+"))==NULL)/* 打開24點陣字庫文件 */
   {
      #ifndef NEO_sys_report_error_unused
      Errinfo_t error = {"put_chinese", NO_FILE, 1};
      throw_error(error);
      #endif
      return NULL;
   }
   asc_size = abs(g_ilimit - text_height(font));
   while (*string != '\0')
   {
      if((*string & 0x80) == 0)/* 判斷是否是擴展ASCII */
      {
         char str[2];
         str[0] = *string;
         str[1] = '\0';
         textout_ex(str_bitmap, font, str, x, 0, fc, bc);         
         x += 8 + 1/*+ blank*/;
         string++;
      }
      else
      {
         char slant = 0;
         fpos = (((unsigned char)*string-0xa1 - g_start)*94 + ((unsigned char)*(string+1)-0xa1))*(long)g_hz_size;
         fseek(hzk_p, fpos, SEEK_SET);
         fread(hz_buf, g_hz_size, 1, hzk_p);

         if (g_hz_size <= 32) /*16點陣以下的字庫*/
         {
            for (i = 0; i < g_ilimit; ++i)
            {
               slant += g_slant;
               for (j = 0; j < g_jlimit; ++j)
               {
                  for (k = 0; k < 8; ++k)
                  {
                     if (((hz_buf[(i << 1) + j] >> 7 - k)) & 1)
                        putpixel(str_bitmap, x + (j << 3) + k + slant, y + i, fc);
                     else/* if (g_text_bg >= 0)*/
                        putpixel(str_bitmap, x + (j << 3) + k + slant, y + i, bc);
                  }
               }
            }
         }
         else /*24點陣以上的字庫*/
         {
            for (i = 0; i < g_ilimit; ++i)
            {
               for (j = 0; j < g_jlimit; ++j)
               {
                  for (k = 1; k <= 8; ++k)
                  {
                     if ( (hz_buf[i * 3 + j] << k - 1) & 0x80 )
                        putpixel(str_bitmap, x + i, y + (j << 3) + k - 1, fc);
                     else/* if (g_text_bg >= 0)*/
                        putpixel(str_bitmap, x + i, y + (j << 3) + k - 1, bc);
                  }
               }
            }
         }
         x += (g_ilimit + 1/*+ blank*/);
         string += 2;
      }
   }

   return str_bitmap;
} 

int string_out(char *str, int x, int y)
{
   return put_chinese(str, x, y, g_str_color, g_blank);
}

int random (int high){  /* get a random number between low and high, inclusively */
   if (high < 0) return (0); /* don't divide by zero */
   return (rand() % (high + 1));
}

void neo_message(char *message, ...)
{
   allegro_message(message);
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久夜色精品国产噜噜av | 丰满少妇久久久久久久| 亚洲制服丝袜av| 亚洲私人黄色宅男| 中文字幕一区二区三区蜜月| 日韩欧美一二三| 337p日本欧洲亚洲大胆色噜噜| 5858s免费视频成人| 欧美猛男男办公室激情| 欧美三级三级三级爽爽爽| 欧美三级在线播放| 91精品国产色综合久久ai换脸| 884aa四虎影成人精品一区| 91精品国产欧美一区二区18| 69久久99精品久久久久婷婷| 日韩免费成人网| 国产日产欧美一区二区三区| 国产精品日韩成人| 亚洲自拍偷拍欧美| 日韩激情在线观看| 国产一二三精品| 91原创在线视频| 欧美日韩黄色影视| 久久精品一二三| 亚洲少妇屁股交4| 日韩和的一区二区| 国产精品一区二区三区乱码| 色综合久久久久久久久| 欧美日韩国产成人在线免费| 精品免费视频.| √…a在线天堂一区| 水蜜桃久久夜色精品一区的特点| 捆绑调教美女网站视频一区| 成人v精品蜜桃久久一区| 色婷婷综合激情| 欧美一区二区视频在线观看2020| 精品免费日韩av| 一区二区三区国产精华| 九一久久久久久| 成年人网站91| 日韩欧美在线观看一区二区三区| 国产精品乱码妇女bbbb| 午夜精品一区二区三区电影天堂 | 成人性视频免费网站| 在线免费观看日本一区| 久久久不卡网国产精品二区| 亚洲一区免费观看| 成人午夜免费电影| 精品久久五月天| 亚洲午夜在线视频| youjizz久久| 精品国产乱码久久久久久老虎| 综合av第一页| 成人免费毛片嘿嘿连载视频| 日韩欧美国产电影| 日韩二区三区在线观看| 一本色道久久综合亚洲aⅴ蜜桃 | 日韩精品乱码av一区二区| 成人av网址在线| 久久综合资源网| 日韩高清在线不卡| 欧美日韩在线精品一区二区三区激情| 久久久亚洲高清| 久久99久久99精品免视看婷婷| 欧美在线三级电影| 亚洲啪啪综合av一区二区三区| 黄一区二区三区| 欧美成人aa大片| 日本在线不卡视频| 欧美一区二区三区在线看| 亚洲一二三四久久| 色狠狠一区二区| 一区二区国产视频| 91久久人澡人人添人人爽欧美| 一区在线中文字幕| 成人av免费在线观看| 国产精品色在线| 成人18视频在线播放| 欧美激情在线一区二区| 成人国产视频在线观看| 中文av字幕一区| 91网站最新网址| 亚洲免费观看高清| 欧美系列在线观看| 日韩成人一区二区三区在线观看| 欧美日韩成人激情| 久久er精品视频| 久久人人97超碰com| 国产99久久精品| 亚洲日本在线天堂| 欧美群妇大交群中文字幕| 日日夜夜一区二区| 久久夜色精品一区| av色综合久久天堂av综合| 亚洲欧美激情一区二区| 欧美日韩国产经典色站一区二区三区| 亚洲成av人片一区二区| 日韩亚洲欧美一区二区三区| 国产精品自拍三区| 亚洲男人的天堂在线aⅴ视频| 欧美视频完全免费看| 麻豆久久久久久久| 中文字幕欧美日韩一区| 91成人在线精品| 久久97超碰色| 亚洲精品中文字幕乱码三区| 欧美久久免费观看| 国产成人自拍网| 一区二区三区精品| 久久婷婷国产综合国色天香| 91亚洲精华国产精华精华液| 日韩成人午夜精品| 中文字幕一区二区视频| 欧美美女一区二区在线观看| 国产精品亚洲一区二区三区妖精| 国产精品美女久久久久久久| 欧美性色综合网| 国产精品一卡二卡| 日本aⅴ免费视频一区二区三区| 精品少妇一区二区| 国产不卡视频在线播放| 亚洲午夜精品在线| 欧美激情一区二区三区在线| 777亚洲妇女| 一本色道久久综合狠狠躁的推荐| 青青草91视频| 亚洲在线视频网站| 久久精品在线免费观看| 欧美一区二区三区在线看| 97se亚洲国产综合在线| 午夜精品久久久久久久| 一区精品在线播放| 精品国产一二三| 欧美三级视频在线| 日本韩国欧美一区| 成人av免费在线播放| 国产精品91一区二区| 日本欧美肥老太交大片| 亚洲欧美偷拍三级| 欧美国产精品久久| 久久综合国产精品| 精品剧情在线观看| 精品久久久久99| 日韩精品一区二区三区视频在线观看| 欧美亚洲高清一区| 色欧美乱欧美15图片| 99精品欧美一区二区三区综合在线| 久久精品国产免费看久久精品| 亚洲va欧美va人人爽| 亚洲宅男天堂在线观看无病毒| 亚洲色图欧美偷拍| 自拍偷拍亚洲激情| 1024成人网| 亚洲黄色av一区| 亚洲一区二区三区四区在线免费观看| 国产精品丝袜一区| 亚洲丝袜制服诱惑| 亚洲人成精品久久久久| 亚洲综合在线免费观看| 亚洲蜜桃精久久久久久久| **欧美大码日韩| 一区二区三区免费看视频| 樱花影视一区二区| 亚洲一区二区三区不卡国产欧美| 怡红院av一区二区三区| 五月婷婷综合激情| 日本一不卡视频| 久草精品在线观看| 国产福利一区二区三区视频 | 午夜精品久久久久久| 亚洲电影第三页| 欧美96一区二区免费视频| 韩国女主播成人在线观看| 国产福利91精品| 91亚洲国产成人精品一区二三 | 国产精品亚洲成人| 成人毛片在线观看| 精品视频1区2区| 欧美成人a视频| 亚洲三级电影网站| 免费看欧美女人艹b| 成人一级视频在线观看| 欧美视频日韩视频在线观看| 欧美不卡激情三级在线观看| 国产精品久久久久一区二区三区共| 亚洲精品成人a在线观看| 视频一区二区三区在线| 国产精品996| 欧美伦理影视网| 国产视频在线观看一区二区三区| 国产精品嫩草久久久久| 日韩高清在线不卡| 丝袜亚洲另类丝袜在线| 国产91露脸合集magnet| 欧美日韩日日夜夜| 国产精品理论在线观看| 美女任你摸久久| 欧美在线观看一二区| 久久精品一区二区三区不卡牛牛 | 欧美成人aa大片|