📄 qt_spec.cpp
字号:
"DF c #9494ADAD3939",
"EF c #8C8CCECE9494",
"FF c #8C8CCECE8C8C",
"GF c #8C8CB5B5B5B5",
"HF c #8C8CADADD6D6",
"IF c #8C8CADADCECE",
"JF c #8C8CADADB5B5",
"KF c #8C8CADADA5A5",
"LF c #8C8C9C9CB5B5",
"MF c #8C8C9C9CADAD",
"NF c #8C8C8C8CA5A5",
"OF c #8C8C52526363",
"PF c #8C8C42425252",
"AG c #8484B5B5CECE",
"BG c #7B7BCECE9494",
"CG c #7B7BC6C68484",
"DG c #7B7BC6C67B7B",
"EG c #7B7BADADC6C6",
"FG c #7B7BADADADAD",
"GG c #7B7B9C9CC6C6",
"HG c #7B7B9C9CB5B5",
"IG c #7B7B9C9CADAD",
"JG c #7B7B84849C9C",
"KG c #7B7B42425252",
"LG c #737384848C8C",
"MG c #737373738484",
"NG c #737339395252",
"OG c #6B6BC6C68484",
"PG c #6B6BBDBD7B7B",
"AH c #6B6BA5A5CECE",
"BH c #6B6B9C9CBDBD",
"CH c #6B6B9C9CA5A5",
"DH c #6B6B94949C9C",
"EH c #6B6B8C8CA5A5",
"FH c #6B6B8C8C9C9C",
"GH c #6B6B6B6B7B7B",
"HH c #6B6B42425252",
"IH c #6363BDBD6B6B",
"JH c #6363B5B58C8C",
"KH c #6363A5A58C8C",
"LH c #63639C9CC6C6",
"MH c #5A5AB5B56363",
"NH c #5A5A9C9CBDBD",
"OH c #5A5A8C8C9C9C",
"PH c #5A5A7B7B8C8C",
"AI c #5A5A6B6B8484",
"BI c #5A5A63637B7B",
"CI c #5252BDBD7373",
"DI c #5252ADAD8484",
"EI c #5252A5A57B7B",
"FI c #4A4AB5B55A5A",
"GI c #4A4A8C8CBDBD",
"HI c #4A4A8C8CADAD",
"II c #4A4A7B7B9C9C",
"JI c #4A4A7B7B8484",
"KI c #4A4A6B6B7B7B",
"LI c #42429C9C7373",
"MI c #42428C8C7B7B",
"NI c #42425A5A7373",
"OI c #42424A4A6B6B",
"PI c #3939ADAD6B6B",
"AJ c #3939ADAD5A5A",
"BJ c #39399C9C6B6B",
"CJ c #39398484BDBD",
"DJ c #39397B7BADAD",
"EJ c #39397B7B8C8C",
"FJ c #393973737B7B",
"GJ c #313163637B7B",
"HJ c #31315A5A7B7B",
"IJ c #292984846B6B",
"JJ c #29296B6B7B7B",
"KJ c #21217B7BB5B5",
"LJ c #21217373A5A5",
"MJ c #212173739C9C",
"NJ c #21216B6B8C8C",
"OJ c #212152527373",
"PJ c #181884846363",
"AK c #18186B6B7B7B",
"BK c #18185A5A7373",
"CK c #10106B6B9C9C",
"DK c #10105A5A8484",
"EK c #08087B7B6363",
"FK c #08085A5A7B7B",
"GK c #00006B6B9C9C",
"HK c #000063637B7B",
"IK c #00005A5A8C8C",
/* pixels */
"CJAHAHAHAHHILHLHBHLHLJNHNHNHGINHGINHGINHGINHGINHGINHGINHGINHGIKJ",
"AHAAAAAAAGHDABBBGCBFBFHCPCOCEEHDJDEEJDEEHDJDEEHDJDEEJDEEHDEEJDNH",
"AHAAAGAAABABABKEOCHCHCPCFEFEABAEHDFCDDJDDDMCJDHDFCHDHDGCDDJDDDLH",
"EGAEDDABOAABOCEGHCHCPCHCBHJDJDEEJDEEJDEEJDAEJDEEAEJDEEJDEEJDEELH",
"AHAAAAAAMCJDGCABHCHCBFOCPCJDEEJDEEJDEEAEEEEEAEJDEEFEFEFEEEEEJDGI",
"AHAAAAPAAGGCABBBMCEGJDNCPCPCEEEEEEEEEEEEEEJDEEEEFEDIPIGFFEFEEENH",
"EGOAKEAAABPAABKEHCHCHCHCMEBFABJDAEMCOCEEMCMCFEOCDDLEKHIDIDEEDDLH",
"LHAEMCAAABABAEIFHCHCHCPCBHOCKEKEEEFEEEFEEEFEEEKEBFGEDIKFMEFEEEGI",
"AHAAAAABGCJDABGCBBOCHGHCPCMDEEFEKEEEFEKEFEKEEEMEBFJFDIGEIFBFFEGI",
"AHAAAAPAAHGCABBBMCJFMDOCPCJDMEKEKEMEKEKEKEKEMEIFGEFGEIIGJFGEMEGI",
"AHAAAEAAABABGCNBDBOCNCNCMDEEMCEEEEMCJDKEDDDDLFCIDIEIPICIDIDIJDNH",
"AHKEDDAAPAABOCKFPBICNCPCHGFEMEMEMEMEHFMEMEIFJFJELCCDCGBBCDLIIGHI",
"EGAAAAABABJDMBNCPBADGENCMDMDMEHFIFHFMEHFIFMECHJEPCLDBGGDGDLIIGDJ",
"AHAAAAAAAHEDKAOBEBBDCEODICMDIFIFMEIFIFIFIFIFCHEFLDPDOGGDPDMIFHHI",
"AHAAOCABMBEABABAFABABAGBNELEHDKEHFDDEEIFJDEEFGCGLDPDPGPDPDAJMFHI",
"AHDDEGABBBEABACAFABACBGBFHGEIFGGIFGGIFIFGGIFDHCGJEMHFIAFAFBJDHII",
"AHAAAAABMBEAHAEAEADACABDODBEHGIFGGIFHGGGIFHGCHJHAFAFEFAFFFFJDHMJ",
"AHAAAAAABEIADADAKACADAGBODNEGGHGIEIENFGGHGGGOHDGFFFFFFFFFFAJOHHI",
"AHAAABABPCGAKADADAKADAFDODMFHIHIAIPFIIIIHIHIEJCIFFDGFFDGDGJJFJCK",
"AHAAAHHCMBGAEAEAEAFAFAJCLGFKPEPEPEKDPEPEOIIKHKLIDGDGPGDGIHEKIKGK",
"EGFCDDAANCJAIAIAIAIAIANDBKOJJBLALALBLAMANGFKHKFIMHPGMHFILIEKFKGK",
"LHAAAABBNCFBJAJAJAEBGBDFBKOJBCNADCDCIBHBNGBKAKFIMHMHMHMHMHEKHKGK",
"AHAAAAABADEBJCEBGBACACHEBKNIBCJBJBHBJBJBHHOJJJPIIHPGIHIHIHPJDKGK",
"AHAAOCJDNCEBOBACOBOBOBHEEJNIKCLBKBBCKBCCKGHJJJMHDGIHPGDGIHEKEJCK",
"AHAAKEABMBEBDBDBOBOBOBHENIAIKCDCDCDCDCECKGKIGJCIDGFFLGDGDGPJNJMJ",
"CJAAOAABBBIADBHADBHAKAHEAIBIDCDCBCCCDCCCPFKIJIPGBGCFDGFFDGIJIIMJ",
"AHAAAAABMBIABADBBAHAHAHEAIGHKCJBBCKBKBBCKGPHJIPGFFGFFFFFFFIJJILJ",
"AHAAAAABMDFDFDBDFDNDBDHEFHJGDEDEDEDEOEDEOFPHMGBJBJAJBJBJBJMIOHDJ",
"EGAAAAJDHGNFFHMGFHJGMGEHJGNFNFMGMGMGMGMGLGJGCHEHFHPHMGOHPHFHIGDJ",
"LHAAOCIFIFIFLFLFMFMFJFLFIFJFHGIGMFIGNFMFMFLFIFLFHGIGFGIGIGHGJFCJ",
"EGDDKEKEMEBFBFBFBFMEBFBFFEKEMEMEMEGEBFMEBFBFBFKEMEBFMEBFBFKEKEGI",
"KJLHGINHGINHNHNHNHGINHNHGINHGINHNHGIGINHGINHNHGINHNHGIGINHNHGICJ"};
//this icon has been taken from trolltech's Qt: qmessagebox.cppstatic char *qtlogo_xpm[] = {/* width height ncolors chars_per_pixel */"50 50 17 1",/* colors */" c #000000",". c #495808","X c #2A3304","o c #242B04","O c #030401","+ c #9EC011","@ c #93B310","# c #748E0C","$ c #A2C511","% c #8BA90E","& c #99BA10","* c #060701","= c #181D02","- c #212804","; c #61770A",": c #0B0D01","/ c None",/* pixels */"/$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$/","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$+++$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$@;.o=::=o.;@$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$+#X* **X#+$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$#oO* O **o#+$$$$$$$$$$$$$$","$$$$$$$$$$$$$&.* OO O*.&$$$$$$$$$$$$$","$$$$$$$$$$$$@XOO * OO X&$$$$$$$$$$$$","$$$$$$$$$$$@XO OO O **:::OOO OOO X@$$$$$$$$$$$","$$$$$$$$$$&XO O-;#@++@%.oOO X&$$$$$$$$$$","$$$$$$$$$$.O : *-#+$$$$$$$$+#- : O O*.$$$$$$$$$$","$$$$$$$$$#*OO O*.&$$$$$$$$$$$$+.OOOO **#$$$$$$$$$","$$$$$$$$+-OO O *;$$$$$$$$$$$&$$$$;* o+$$$$$$$$","$$$$$$$$#O* O .+$$$$$$$$$$@X;$$$+.O *#$$$$$$$$","$$$$$$$$X* -&$$$$$$$$$$@- :;$$$&- OX$$$$$$$$","$$$$$$$@*O *O#$$$$$$$$$$@oOO**;$$$# O*%$$$$$$$","$$$$$$$; -+$$$$$$$$$@o O OO ;+$$-O *;$$$$$$$","$$$$$$$. ;$$$$$$$$$@-OO OO X&$$;O .$$$$$$$","$$$$$$$o *#$$$$$$$$@o O O O-@$$$#O *o$$$$$$$","$$$$$$+= *@$$$$$$$@o* OO -@$$$$&: =$$$$$$$","$$$$$$+: :+$$$$$$@- *-@$$$$$$: :+$$$$$$","$$$$$$+: :+$$$$$@o* O *-@$$$$$$: :+$$$$$$","$$$$$$$= :@$$$$@o*OOO -@$$$$@: =+$$$$$$","$$$$$$$- O%$$$@o* O O O O-@$$$#* OX$$$$$$$","$$$$$$$. O *O;$$&o O*O* *O -@$$; O.$$$$$$$","$$$$$$$;* Oo+$$;O*O:OO-- Oo@+= *;$$$$$$$","$$$$$$$@* O O#$$$;*OOOo@@-O Oo;O* **@$$$$$$$","$$$$$$$$X* OOO-+$$$;O o@$$@- O O OX$$$$$$$$","$$$$$$$$#* * O.$$$$;X@$$$$@-O O O#$$$$$$$$","$$$$$$$$+oO O OO.+$$+&$$$$$$@-O o+$$$$$$$$","$$$$$$$$$#* **.&$$$$$$$$$$@o OO:#$$$$$$$$$","$$$$$$$$$+. O* O-#+$$$$$$$$+;O OOO:@$$$$$$$$$","$$$$$$$$$$&X *O -;#@++@#;=O O -@$$$$$$$$","$$$$$$$$$$$&X O O*O::::O OO Oo@$$$$$$$","$$$$$$$$$$$$@XOO OO O*X+$$$$$$","$$$$$$$$$$$$$&.* ** O :: *:#$$$$$$$","$$$$$$$$$$$$$$$#o*OO O Oo#@-OOO=#$$$$$$$$","$$$$$$$$$$$$$$$$+#X:* * O**X#+$$@-*:#$$$$$$$$$","$$$$$$$$$$$$$$$$$$$%;.o=::=o.#@$$$$$$@X#$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$+++$$$$$$$$$$$+$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$","/$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$/"};//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Bitmap class for display export etc.//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~BitMapQT::BitMapQT(GraphObj *g, QWidget *wi, int vr, int hr):anyOutput(){ int w, h; hres = (double)hr; vres = (double)vr; image = 0L; hgo = 0L;
if(wi) { w = wi->width(); h = wi->height(); } else { GetDesktopSize(&w, &h); } Box1.Xmin = Box1.Ymin = 0.0; Box1.Xmax = w; Box1.Ymax = h; DeskRect.left = DeskRect.top = 0; GetDesktopSize(&w, &h); DeskRect.right = w; DeskRect.bottom = h; mempic = new QPixmap(w, h); mempic->fill(0x00ffffffL); qPainter.begin(mempic); qPen.setCapStyle(Qt::RoundCap); qPainter.setPen(qPen); qFont = qPainter.font();}BitMapQT::BitMapQT(int w, int h, double hr, double vr):anyOutput(){ hres = hr; vres = vr; image = 0L; hgo = 0L;
w = abs(w); h = abs(h); Box1.Xmin = Box1.Ymin = 0.0; Box1.Xmax = w; Box1.Ymax = h; DeskRect.right = w; DeskRect.bottom = h; DeskRect.left = DeskRect.top = 0; mempic = new QPixmap(w, h); mempic->fill(0x00ffffffL); qPainter.begin(mempic); qPen.setCapStyle(Qt::RoundCap); qPainter.setPen(qPen); qFont = qPainter.font();}BitMapQT::~BitMapQT(){ Undo.KillDisp(this);
if(qPainter.isActive()) qPainter.end(); HideTextCursorObj(this); if(mempic) delete mempic; if(hgo) delete hgo; if(image) delete image; mempic = 0L; hgo = 0L; image = 0L;}boolBitMapQT::SetLine(LineDEF *lDef){ int iw; if(lDef->width != LineWidth || lDef->width != LineWidth || lDef->pattern != dPattern || lDef->color != dLineCol) { LineWidth = lDef->width; iw = iround(un2ix(lDef->width)); dPattern = lDef->pattern; RLP.finc = 256.0/un2fix(lDef->patlength*8.0); RLP.fp = 0.0; if(iLine == iw && dLineCol == lDef->color) return true; iLine = iw; dLineCol = lDef->color; qPen.setColor(SwapRB(dLineCol)); qPen.setWidth(iw); qPen.setStyle(Qt::SolidLine); qPen.setCapStyle(Qt::RoundCap); qPen.setJoinStyle(Qt::RoundJoin); qPainter.setPen(qPen); } return true;}boolBitMapQT::SetFill(FillDEF *fill){ if(!fill) return false; if((fill->type & 0xff) != FILL_NONE) { if(!hgo) hgo = new HatchOut(this); if(hgo) hgo->SetFill(fill); } else { if(hgo) delete hgo; hgo = 0L; } qPainter.setBrush(QColor(SwapRB(fill->color))); dFillCol = fill->color; dFillCol2 = fill->color2; return true;}boolBitMapQT::SetTextSpec(TextDEF *set){
return com_SetTextSpec(set, &TxtSet, this, qFont, &qPainter);
}boolBitMapQT::Erase(DWORD color){ if(!mempic) return false; mempic->fill(color); if(image) delete image; image = 0L; return true;}boolBitMapQT::CopyBitmap(int x, int y, anyOutput* sr, int sx, int sy, int sw, int sh, bool invert){ BitMapQT *src = (BitMapQT*)sr; if(!mempic) return false; bitBlt(mempic, x, y, src->mempic, sx, sy, sw, sh, invert ? Qt::NotCopyROP : Qt::CopyROP); return true;}boolBitMapQT::oGetTextExtent(char *text, int cb, int *width, int *height){ if(!text) return false; QRect rc = qPainter.boundingRect(0, 0, 10000, 1000, Qt::AlignLeft | Qt::AlignTop, text, cb > 0 ? cb : strlen(text)); *width = rc.rRight() - rc.rLeft(); *height = TxtSet.iSize +2; return true;}boolBitMapQT::oGetPix(int x, int y, DWORD *col){ DWORD pix; if(!image && !(image = new QImage(mempic->convertToImage())))return false; if(x >= DeskRect.left && x < DeskRect.right && y >= DeskRect.top && y < DeskRect.bottom){ pix = SwapRB(image->pixel(x, y)); *col = pix; return true; } return false;}boolBitMapQT::oDrawIcon(int type, int x, int y){ char** xpm_data; QPixmap pm; switch (type) { case ICO_INFO: xpm_data = information_xpm; break; case ICO_ERROR: xpm_data = critical_xpm; break; case ICO_RLPLOT: xpm_data = RLPlot_xpm; break; case ICO_QT: xpm_data = qtlogo_xpm; break; default: return false; } if (xpm_data) { QImage image((const char **)xpm_data); pm.convertFromImage(image); bitBlt(mempic, x, y, &pm, 0, 0, -1, -1, Qt::CopyROP); return true; } return false;}boolBitMapQT::oCircle(int x1, int y1, int x2, int y2, char* nam){ qPainter.drawEllipse(x1, y1, x2-x1, y2-y1); if(hgo) return hgo->oCircle(x1, y1, x2, y2); return true;}boolBitMapQT::oPolyline(POINT * pts, int cp, char *nam){ int i; if(cp < 1) return false; if (dPattern) { for (i = 1; i < cp; i++) PatLine(pts[i-1], pts[i]); } else { qPainter.moveTo(pts[0].x, pts[0].y); for (i = 1; i < cp; i++) qPainter.lineTo(pts[i].x, pts[i].y); } return true;}boolBitMapQT::oRectangle(int x1, int y1, int x2, int y2, char *nam){ qPainter.drawRect(x1, y1, x2-x1, y2-y1); if(hgo) hgo->oRectangle(x1, y1, x2, y2, 0L); return true;}boolBitMapQT::oSolidLine(POINT *p){ qPainter.drawLine(p[0].x, p[0].y, p[1].x, p[1].y); return true;}boolBitMapQT::oTextOut(int x, int y, char *txt, int cb){
return com_TextOut(x, y, txt, &TxtSet, &qPainter, this);}boolBitMapQT::oPolygon(POINT *pts, int cp, char *nam){ int i; QPointArray *a; if(!pts || cp <2) return false; a = new QPointArray(cp); if (a) { for(i = 0; i < cp; i++) a->setPoint(i, pts[i].x, pts[i].y); qPainter.drawPolygon(*a); delete a; } if(hgo) hgo->oPolygon(pts, cp);}boolBitMapQT::oArc(int x1, int y1, int x2, int y2, int quads){ int i, j; if(x1 > x2) Swap(x1, x2); if(y1 > y2) Swap(y1, y2); switch(quads) { case 1: i = 270*16; j = 90*16; break; case 2: i = 180*16; j = 180*16; break; case 3: i = 90*16; j = 270*16; break; case 4: i = 0; j = 360*16; break; default: return false; } qPainter.drawArc(x1, y1, x2-x1, y2-y1, i, j); return true;}//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// The display output class//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~OutputQT::OutputQT(GraphObj *g):BitMapQT(g, 0L){ int w, h; RLPwidget *rw; HScroll = VScroll = 0L; CreateNewWindow(BaseObj = g); if(rw = (RLPwidget*)widget) { rw->move(CurrWidgetPos.x+50, CurrWidgetPos.y+50); rw->show(); rw->mempic = mempic; rw->setBackgroundMode(QWidget::NoBackground);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -