void drawControls(xGraphics g) { int x = 0; int y = 24; int fw = bw; int fh = bh; int sx = 0; x = getW() - 40 - fw; // delete g.setColor(C.COLOR_GRAY_LIGHT); Image img = mContext.getImage(C.IMG_DRAWER_BUTTONS); if (mButtonSel == 0) { sx = fw; } g.drawImage(img, x, y, fw, fh, sx, 0); // colors: RED/ORANGE/GREEN/PINK/WHITE x -= colors.Length * bw; sx += 2 * bw; for (int i = 0; i < colors.Length; i++) { g.setColor(colors[i]); g.fillRect(x, y, bw, bh); g.drawImage(img, x, y, fw, fh, sx, 0); x += bw; } }
int drawThreahold(xGraphics g, int x, int y, bool isUpper) { int imgw = mArrowImage.Width / 3; int imgh = mArrowImage.Height; Font f = mContext.getFontText(); String s; StringBuilder sb = Utils.getSB(); if (isUpper) { g.drawImage(mArrowImage, x, y, imgw, imgh, 0, 0); x += 10; g.setColor(C.COLOR_WHITE); if (mAlarm.upperPrice > 0) { sb.AppendFormat("{0:F1}", (float)mAlarm.upperPrice); s = sb.ToString(); } else { s = " -"; } g.drawString(f, s, x, y); x += g.getStringWidth(f, s); } else { g.drawImage(mArrowImage, x, y, imgw, imgh, imgw, 0); x += 10; g.setColor(C.COLOR_WHITE); if (mAlarm.lowerPrice > 0) { sb.AppendFormat("{0:F1}", (float)mAlarm.lowerPrice); s = sb.ToString(); } else { s = " -"; } g.drawString(f, s, x, y); x += g.getStringWidth(f, s); } return(x); }
public override void render(xGraphics g) { if (isFocus()) { g.setColor(0xff306AC5); } else { g.setColor(C.COLOR_BLACK); } g.clear(); g.setColor(0xffffffff); g.drawLine(0, getH() - 1, getW(), getH() - 1); stPriceboardStateIndex pi = mContext.mPriceboard.getPriceboardIndexOfMarket(mMarketID); if (pi == null /* || pi.current_point == 0*/) { return; } //=========================================== // VNIndex 375.3 (-1.86, -0.49%) KL: 37,716,548 GT: 560.9 ty up:84 no:53 down:169 //=========================================== int x = 0; int y = 0; uint color; g.setColor(C.COLOR_WHITE); g.drawString(mFont, pi.code, x, y); x = 75; if (pi.changed_point > 0) { color = C.COLOR_GREEN; } else if (pi.changed_point < 0) { color = C.COLOR_RED; } else { color = C.COLOR_YELLOW; } g.setColor(color); String s; s = String.Format("{0:F2}", pi.current_point); // point g.drawString(mFont, s, x, y); x = 130; // change String s1 = String.Format("{0:F2}", pi.changed_point); float changedPercent = (pi.changed_point * 100) / pi.current_point; String s2 = String.Format("{0:F2}%", changedPercent); StringBuilder sb = Utils.sb; sb.Length = 0; sb.AppendFormat("({0}, {1})", s1, s2); s = sb.ToString(); g.drawString(mFont, s, x, y); x = 220; // KL g.setColor(C.COLOR_WHITE); double t = pi.total_volume; t /= 1000000; //s = s = Utils.formatNumber((float)t, 2); //Utils.formatNumber(0, 1); sb.Length = 0; sb.AppendFormat("KLGD: {0} tr", s); g.drawString(mFont, sb.ToString(), x, y); x = 330; // GT s = Utils.formatDecimalNumber(pi.totalGTGD, 1000, 1); sb.Length = 0; sb.AppendFormat("GTGD: {0} tỷ", s); g.drawString(mFont, sb.ToString(), x, y); x = 440; // up/none/down int frmW = mArrows.Width / 3; int frmH = mArrows.Height; g.drawImage(mArrows, x, y, frmW, frmH, 0, 0); x += frmW + 2; g.setColor(C.COLOR_GREEN); g.drawString(mFont, "" + pi.inc_cnt, x, y); x += 40; // none g.drawImage(mArrows, x, y, frmW, frmH, 2 * frmW, 0); x += frmW + 2; g.setColor(C.COLOR_YELLOW); g.drawString(mFont, "" + pi.ref_num, x, y); x += 40; // down g.drawImage(mArrows, x, y, frmW, frmH, frmW, 0); x += frmW + 2; g.setColor(C.COLOR_RED); g.drawString(mFont, "" + pi.dec_cnt, x, y); // date x += 50; // cung-cau g.setColor(C.COLOR_WHITE); double[] tt = { 0, 0 }; calcBuySellRemains(pi.marketID, tt); // mua t = tt[0] / 1000000; s = Utils.formatNumber((float)t, 1); // ban t = tt[1] / 1000000; s1 = Utils.formatNumber((float)t, 1); sb.Length = 0; sb.AppendFormat("Dư M/B={0} / {1}", s, s1); g.drawString(mFont, sb.ToString(), x, y); x += 150; g.setColor(C.COLOR_WHITE); g.drawString(mFont, pi.mDate, x, y); }
public override void render(xGraphics g) { g.setColor(C.COLOR_BLACK); g.clear(); stPriceboardState ps = mContext.mPriceboard.getPriceboard(mAlarm.code); if (ps == null) { return; } Font f = mContext.getBigFont(); int x = 0; int y = 0; // code x = 4; y = (getH() - f.Height) / 2 - 4; g.setColor(C.COLOR_WHITE); g.drawString(f, mAlarm.code, x, y - 4); x += 120; // gia hien tai drawQuotePoint(g, x); x += 120; // upper alarm int ch = getH() / 2 - 5; f = mContext.getFontText(); y = (ch - f.Height) / 2; int x0 = drawThreahold(g, x, y, true); // upper y = ch + (ch - f.Height) / 2; int x1 = drawThreahold(g, x, y, false); // lower x = x0 > x1? x0 + 2:x1 + 2; //========================================= int alarm = mAlarm.hasAlarm(); if (alarm != 0) { String s; if (alarm == 1) { s = "Giá đã vượt lên trên " + Utils.formatNumber(mAlarm.upperPrice); g.setColor(C.COLOR_GREEN); y = (ch - mAlarmImage.Height) / 2; } else { s = "Giá đã xuống thấp hơn " + Utils.formatNumber(mAlarm.lowerPrice); g.setColor(C.COLOR_RED); y = ch + (ch - mAlarmImage.Height) / 2; } if (mShowingAlarm) { g.drawImage(mAlarmImage, x, y); } g.drawString(f, s, x + mAlarmImage.Width + 10, y + 2); } if (mAlarm.comment != null && mAlarm.comment.Length > 0) { y = getH() - f.Height - 1; g.setColor(C.COLOR_YELLOW); g.drawString(mContext.getFontTextItalic(), "(" + mAlarm.comment + ")", 8, y); } //======================= g.setColor(C.COLOR_WHITE); g.drawHorizontalLine(0, getH() - 1, getW()); }
public override void render(xGraphics g) { g.setColor(C.COLOR_BLACK); g.clear(); g.setColor(0xffffffff); g.drawLine(0, 0, 0, getH()); stPriceboardStateIndex pi = mContext.mPriceboard.getPriceboardIndexOfMarket(mMarketID); if (pi == null || pi.current_point == 0) { return; } //=========================================== // VNIndex 375.3 (-1.86, -0.49%) KL: 37,716,548 GT: 560.9 ty up:84 no:53 down:169 //=========================================== int lineH = 20; int x0 = 4; int x = x0; int y = 0; uint color; g.setColor(C.COLOR_WHITE); Font fTitle = mContext.getFontTextItalic(); // date x = x0; g.setColor(C.COLOR_WHITE); g.drawString(fTitle, pi.mDate, x, y); y += lineH; //============================== // VNINDEX g.drawString(mFont, pi.code, x, y); //======point if (pi.changed_point > 0) { color = C.COLOR_GREEN; } else if (pi.changed_point < 0) { color = C.COLOR_RED; } else { color = C.COLOR_YELLOW; } g.setColor(color); String s; s = String.Format("{0:F2}", pi.current_point); // point x += g.getStringWidth(mFont, pi.code) + 10; g.drawString(mFont, s, x, y); // change g.setColor(C.COLOR_WHITE); y += lineH + 10; g.drawString(fTitle, "Thay đổi: ", x0, y); x = x0 + g.getStringWidth(fTitle, "Thay đổi: ") + 6; g.setColor(color); // change String s1 = String.Format("{0:F2}", pi.changed_point); float changedPercent = (pi.changed_point * 100) / pi.current_point; String s2 = String.Format("{0:F2}", changedPercent); StringBuilder sb = Utils.sb; sb.Length = 0; sb.AppendFormat("({0}, {1} %)", s1, s2); s = sb.ToString(); g.drawString(mFont, s, x, y); x = x0; y += lineH + 10; // KL g.setColor(C.COLOR_WHITE); double t = pi.total_volume; t /= 1000000; //s = s = Utils.formatNumber((float)t, 2); //Utils.formatNumber(0, 1); sb.Length = 0; sb.AppendFormat("KLGD: {0} tr", s); g.drawString(mFont, sb.ToString(), x, y); x = x0; y += lineH; // GT s = Utils.formatDecimalNumber(pi.totalGTGD, 1000, 1); sb.Length = 0; sb.AppendFormat("GTGD: {0} tỷ", s); g.drawString(mFont, sb.ToString(), x, y); x = x0; y += lineH; // cung-cau g.setColor(C.COLOR_WHITE); double[] tt = { 0, 0 }; calcBuySellRemains(pi.marketID, tt); // mua t = tt[0] / 1000000; s = Utils.formatNumber((float)t, 1); // ban t = tt[1] / 1000000; s1 = Utils.formatNumber((float)t, 1); sb.Length = 0; sb.AppendFormat("Dư mua/bán (tr): {0} / {1}", s, s1); g.drawString(mFont, sb.ToString(), x, y); x = x0; y += lineH + 10; g.setColor(C.COLOR_WHITE); g.drawString(fTitle, "Số mã tăng/giảm:", x, y); y += lineH; // up/none/down int frmW = mArrows.Width / 3; int frmH = mArrows.Height; g.drawImage(mArrows, x, y, frmW, frmH, 0, 0); x += frmW + 2; g.setColor(C.COLOR_GREEN); g.drawString(mFont, "" + pi.inc_cnt, x, y); x += 40; // none g.drawImage(mArrows, x, y, frmW, frmH, 2 * frmW, 0); x += frmW + 2; g.setColor(C.COLOR_YELLOW); g.drawString(mFont, "" + pi.floor_cnt, x, y); x += 40; // down g.drawImage(mArrows, x, y, frmW, frmH, frmW, 0); x += frmW + 2; g.setColor(C.COLOR_RED); g.drawString(mFont, "" + pi.dec_cnt, x, y); //===========cao: x = x0; g.setColor(C.COLOR_YELLOW); TradeHistory trade = mContext.getTradeHistory(pi.id); // referent s = String.Format("{0:F2}", pi.reference); y += lineH + 10; s = "Tham chiếu: " + s; //fTitle = mContext.getFon g.drawString(mFont, s, x, y); // cao s = String.Format("{0:F2}", trade.mHighest); y += lineH; s = "Cao nhất: " + s; g.drawString(mFont, s, x, y); // thap s = String.Format("{0:F2}", trade.mLowest); y += lineH; s = "Thấp nhất: " + s; g.drawString(mFont, s, x, y); }
public override void render(xGraphics g) { if (isFocus()) g.setColor(0xff306AC5); else g.setColor(C.COLOR_BLACK); g.clear(); g.setColor(C.COLOR_GRAY_LIGHT); g.drawLine(0, 0, getW(), 0); g.setColor(C.COLOR_GRAY_LIGHT); g.drawLine(0, getH()-2, getW(), getH()-2); stPriceboardStateIndex pi = mContext.mPriceboard.getPriceboardIndexOfMarket(mMarketID); if (pi == null || pi.current_point == 0) return; //=========================================== // VNIndex 375.3 (-1.86, -0.49%) KL: 37,716,548 GT: 560.9 ty up:84 no:53 down:169 //=========================================== int x = 0; int y = 0; uint color; /* g.setColor(C.COLOR_WHITE); g.drawString(mFont, pi.code, x, y); */ int iconIdx = mMarketID == 1 ? 0 : 1; g.drawImage(mIcons.Images[iconIdx], 0, 1); x = mIcons.ImageSize.Width + 1; if (pi.changed_point > 0) color = C.COLOR_GREEN; else if (pi.changed_point < 0) color = C.COLOR_RED; else color = C.COLOR_YELLOW; g.setColor(color); String s; s = String.Format("{0:F2}", pi.current_point); // point g.drawString(mFont, s, x, y); x = 77; // change String s1 = String.Format("{0:F2}", pi.changed_point); float changedPercent = (pi.changed_point * 100) / pi.current_point; String s2 = String.Format("{0:F2}", changedPercent); StringBuilder sb = Utils.sb; sb.Length = 0; if (pi.changed_point >= 0) sb.AppendFormat("(+{0}, {1})", s1, s2); else sb.AppendFormat("(-{0}, {1})", s1, s2); s = sb.ToString(); g.drawString(mFont, s, x, y); x = 160; // KL g.setColor(C.COLOR_WHITE); s = Utils.formatNumber((int)pi.total_volume); sb.Length = 0; sb.AppendFormat("KL:{0:F1} tr", (double)(pi.total_volume/1000000)); g.drawString(mFont, sb.ToString(), x, y); x = 245; // GT sb.Length = 0; sb.AppendFormat("GT:{0:F1} tỷ", (double)pi.totalGTGD/1000); g.drawString(mFont, sb.ToString(), x, y); /* x = 520; // up/none/down int frmW = mArrows.Width/3; int frmH = mArrows.Height; g.drawImage(mArrows, x, y, frmW, frmH, 0, 0); x += frmW + 2; g.setColor(C.COLOR_GREEN); g.drawString(mFont, "" + pi.inc_cnt, x, y); x += 40; // none g.drawImage(mArrows, x, y, frmW, frmH, 2*frmW, 0); x += frmW + 2; g.setColor(C.COLOR_YELLOW); g.drawString(mFont, "" + pi.floor_cnt, x, y); x += 40; // down g.drawImage(mArrows, x, y, frmW, frmH, frmW, 0); x += frmW + 2; g.setColor(C.COLOR_RED); g.drawString(mFont, "" + pi.dec_cnt, x, y); */ }