⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldrawwin.cpp

📁 ldraw_DOS游戏开发包
💻 CPP
字号:
#include <ldraw.h>
#include <string.h>
#define WTYPE_NORMAL   0
#define WTYPE_GRAPH    1
////////////////////  COLORS  /////////////////////
static uchar lw_cn=24,lw_cl=30,lw_cd=19,lw_ct=27,lw_cbar=1,
             lw_ctext=255,lw_cground=29, 
             lw_d1=3, lw_d2=3, lw_d3=23, lw_d4=3,
             lw_wl=4, lw_barw=18;
short lw_b1x1, lw_b1y1, lw_b1x2, lw_b1y2, lw_b2x1, lw_b2y1, lw_b2x2, lw_b2y2;
////////////////////  PROC DRAW  //////////////////
void lwSetColor(uchar cn,uchar cl,uchar cd,uchar ct,uchar cb,uchar ctext,uchar cg)
{ lw_cn=cn; lw_cl=cl; lw_cd=cd; lw_ct=ct; lw_cbar=cb; lw_ctext=ctext; lw_cground=cg; }
void lwDrawRectangle(int x1,int y1,int x2,int y2,int type);
void lwDrawButton(short x1,short y1,short x2,short y2,char *str,char *bitmap,char type);
void lwInitColor();
///////////////////////////////////////////////////
void lwInitColor()
{ RGB *pal; pal=new RGB[256]; lloadPal(pal);
  lw_cn=lpBestfitColor(pal,32,32,32); lw_cl=lpBestfitColor(pal,50,50,50);
  lw_cd=lpBestfitColor(pal,20,20,20); lw_ct=lpBestfitColor(pal,45,45,45);
  lw_cbar=lpBestfitColor(pal,2,2,42); lw_ctext=lpBestfitColor(pal,0,0,0);
  lw_cground=lpBestfitColor(pal,42,42,42); 
  delete pal;
}
void lwDraw(short x1,short y1,short x2,short y2,char *name,int type)
{ short sc=ld_workColor, bx1, by1, bx2, by2, sy=y1+lw_wl+lw_barw, inc=lw_wl+lw_barw;

  lsetColor(lw_cn);
  lbar(x1,y1,x2,y2);
  lwDrawRectangle(x1,y1,x2,y2,0);
  lwDrawRectangle(x1+lw_wl-1,y1+lw_wl-1,x2-lw_wl+1,y2-lw_wl+1,1);
  lsetColor(lw_cbar);
  bx1=x1+lw_wl+lw_barw, by1=y1+lw_wl, bx2=x2-lw_wl-lw_barw, by2=sy-1;
  lbar(bx1,by1,bx2,by2);
  lwDrawRectangle(bx1,by1,bx2,by2,0);
  lsetColor(lw_cl); lline(x1,sy,x1+lw_wl-2,sy); lline(x2-lw_wl+1,sy,x2-1,sy);
                    lline(x1+inc,y1,x1+inc,y1+lw_wl-1); lline(x2-inc+1,y1,x2-inc+1,y1+lw_wl-1);
  lsetColor(lw_cd); lline(x1,sy-1,x1+lw_wl-2,sy-1); lline(x2-lw_wl+1,sy-1,x2-1,sy-1);
                    lline(x1+inc-1,y1,x1+inc-1,y1+lw_wl-1); lline(x2-inc,y1,x2-inc,y1+lw_wl-1);
  lsetColor(lw_ct);
  louttextxy(x1+lw_wl+lw_barw+3,((by2+by1)>>1)+1,name);
  lwDrawButton(bx2+1,by1,x2-lw_wl,by2,"x",NULL,0);
  lw_b1x1=bx2+1, lw_b1y1=by1, lw_b1x2=x2-lw_wl, lw_b1y2=by2;
  lwDrawButton(x1+lw_wl,y1+lw_wl,x1+inc-1,y1+inc-1,"+",NULL,0);
  lw_b2x1=x1+lw_wl, lw_b2y1=y1+lw_wl, lw_b2x2=x1+inc-1, lw_b2y2=y1+inc-1;
  switch (type)  
   { case WTYPE_NORMAL: lwDrawRectangle(x1+lw_wl,sy,x2-lw_wl,y2-lw_wl,0);
                        break;
     case WTYPE_GRAPH:
                        lsetColor(lw_cground);
                        lbar(x1+lw_wl,sy,x2-lw_wl,y2-lw_wl);
                        break;
   } 
  ld_workColor=sc;
}
void lwDrawButton(short x1,short y1,short x2,short y2,char *str,char *bitmap,char type)
{ short blen=x2-x1+1, bwid=y2-y1+1, len, wid,
        slen=strlen(str)*8, sx=(blen-slen)/2+x1, sy=(y2+y1)/2+1;
  lsetColor(lw_cn); lbar(x1,y1,x2,y2);
  lwDrawRectangle(x1,y1,x2,y2,type); 
  if (bitmap)
   { lgetSize(&len,&wid,bitmap);
     if (len>0&&wid>0&&len<blen&&wid<bwid)
       lputImage(x1+((blen-len)>>1),x1+((bwid-wid)>>1),bitmap);
   }
  if (type==1) { sx+=1; sy+=1; }
  lsetColor(0);
  louttextxy(sx,sy,str);
}
void lwDrawRectangle(int x1,int y1,int x2,int y2,int type)
{ short c1=lw_cl,c2=lw_cd,c;
  if (type) { c=c1; c1=c2; c2=c; }
  lsetColor(c1); lline(x1,y1,x2,y1); lline(x1,y1,x1,y2);
  lsetColor(c2); lline(x2,y1,x2,y2); lline(x1,y2,x2,y2);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -