Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
             */
        }