예제 #1
0
        public override void DrawActor(KthuraActor obj, int ix = 0, int iy = 0, int scrollx = 0, int scrolly = 0)
        {
            var tx = GetTex(obj);

            if (tx != null)
            {
                obj.UpdateMoves();
                TQMG.Color((byte)obj.R, (byte)obj.G, (byte)obj.B);
                //TQMG.SetAlphaFloat((float)obj.Alpha1000 / 1000);
                TQMG.SetAlpha((byte)obj.Alpha255);
                //TQMG.RotateRAD((float)obj.RotationRadians);
                TQMG.RotateDEG(obj.RotationDegrees);
                TQMG.Scale(obj.ScaleX, obj.ScaleY);
                if (obj.AnimFrame >= tx.Frames)
                {
                    obj.AnimFrame = 0;
                }
                tx.XDraw(obj.x + ix - scrollx, obj.y + iy - scrolly, obj.AnimFrame);
                TQMG.Scale(1000, 1000);
                TQMG.RotateRAD(0);
                TQMG.SetAlpha(255);
            }
            else
            {
                CrashOnNoTex?.Invoke($"Actor-texture '{obj.Texture}' did somehow not load?");
            }
        }
        public override void Draw(GameTime gameTime)
        {
            // Blocked, or not?
            for (int y = 0; y < TQMG.ScrHeight; y++)
            {
                for (int x = 0; x < TQMG.ScrWidth; x++)
                {
#if DEBUG
                    if (first)
                    {
                        BubConsole.WriteLine($"Pure({x},{y}); Scroll({ScrollX},{ScrollY}); Combined({x + ScrollX},{ y + ScrollY});  Block({MapLayer.Block(x + ScrollX, y + ScrollY)})");
                    }
#endif
                    TQMG.Color(
                        BlCol(
                            MapLayer.Block(x + ScrollX, y + ScrollY)
                            )
                        );
                    TQMG.Plot(x, y);
                }
            }
#if DEBUG
            first = false;
#endif

            // Actors
            foreach (KthuraObject O in MapLayer.Objects)
            {
                TQMG.Color(255, 0, 0);
                if (O.kind == "Actor")
                {
                    TQMG.Plot(O.x - ScrollX, O.y - ScrollY);
                }
            }
        }
예제 #3
0
        public override void Draw(GameTime gameTime)
        {
            const int ident = 5;
            int       DY    = 0;

            if (Death.Height < TQMG.ScrHeight)
            {
                DY = TQMG.ScrHeight - Death.Height;
            }
            TQMG.Color(0, 18, 25);
            TQMG.SetAlpha(255);
            TQMG.DrawRectangle(0, 0, TQMG.ScrWidth, TQMG.ScrHeight);
            TQMG.Color(0, 36, 50);
            Death.Draw(0, DY);
            TQMG.Color(255, 180, 100);
            SysFont.DrawText("OOPS!", ident, 0);
            TQMG.Color(255, 255, 0);
            SysFont.DrawText("You tried something we didn't think of!", 50, 25);
            TQMG.Color(0, 180, 255);
            SysFont.DrawText(sct, ident, 75);
            TQMG.Color(0, 200, 255);
            SysFont.DrawText(smsg, ident, 125);
            TQMG.Color(0, 220, 255);
            SysFont.DrawText(strace, ident, 250);
            TQMG.Color(0, 255, 255);
            SysFont.DrawText("Hit Escape to exit this application", 50, TQMG.ScrHeight - 30);
        }
예제 #4
0
        public override void DrawStretchedArea(KthuraObject obj, int ix = 0, int iy = 0, int scrollx = 0, int scrolly = 0)
        {
            var tx = GetTex(obj);

            TQMG.Color((byte)obj.R, (byte)obj.G, (byte)obj.B);
            TQMG.SetAlpha((byte)obj.Alpha255);
            if (tx != null)
            {
                tx.StretchDraw(obj.x + ix - scrollx, obj.y + iy - scrolly, obj.w, obj.h, obj.AnimFrame);
            }
            TQMG.SetAlpha(255);
        }
예제 #5
0
        public override void DrawTiledArea(KthuraObject obj, int ix = 0, int iy = 0, int scrollx = 0, int scrolly = 0)
        {
            var tx = GetTex(obj);

            TQMG.Color((byte)obj.R, (byte)obj.G, (byte)obj.B);
            //TQMG.SetAlphaFloat((float)obj.Alpha1000 / 1000);
            TQMG.SetAlpha((byte)obj.Alpha255);
            if (tx != null)
            {
                TQMG.Tile(tx, obj.insertx, obj.inserty, obj.x + ix - scrollx, obj.y + iy - scrolly, obj.w, obj.h, obj.AnimFrame);
            }
            TQMG.SetAlpha(255);
        }
예제 #6
0
        override public void Draw(Game1 game, GameTime gameTime)
        {
            var y = 10;

            // throw new Exception("FORCE"); // must be rem in release
            TQMG.Color(255, 0, 0);
            foreach (TQMGText T in TextList)
            {
                T.Draw(10, y);
                TQMG.Color(255, 180, 0);
                y += 20;
            }
        }
예제 #7
0
 public override void Draw(Game1 game, GameTime gameTime)
 {
     TQMG.Color(0, 180, 255); // This effect was originall a bug, but in stead of fixing it, I decided to "seal" it in :P
     TQMG.SimpleTile(UI.back, 0, 0, UI.ScrWidth, UI.ScrHeight);
     TQMG.Color(255, 180, 0);
     UI.font32.DrawText($"All Textures! Starting at {spot.ToString("X2")}", UI.ScrWidth / 2, 50, TQMG_TextAlign.Center);
     TQMG.Color(180, 0, 255);
     UI.font20.DrawText("Prefix:", 10, 100);
     TQMG.Color(0, 18, 25);
     TQMG.DrawRectangle(10, 125, UI.ScrWidth - 20, 22);
     TQMG.Color(0, 180, 255);
     UI.font20.DrawText($"{prefix}|", 12, 126);
 }
예제 #8
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            BubbleTimer.DrawTime = gameTime.ElapsedGameTime.Milliseconds;
            GraphicsDevice.Clear(Color.Black);
            spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied, SamplerState.LinearWrap, null, null); //DepthStencilState.Default
            //spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearWrap, DepthStencilState.Default, null);

            FlowManager.Draw(gameTime);

            if (BubbleTimer.ShowTime)
            {
                TQMG.Color(255, 255, 255);
                SysFont.DrawText($"Update: {BubbleTimer.UpdateTime}ms/{1000 / BubbleTimer.UpdateTime}fps; Draw: {BubbleTimer.DrawTime}ms/{1000 / BubbleTimer.DrawTime}fps", 5, 5);
            }
            spriteBatch.End();

            base.Draw(gameTime);
        }
예제 #9
0
        public override void Draw(Game1 game, GameTime gameTime)
        {
            var d = DateTime.Now.Second;
            var c = "|";
            var y = 100;

            if (d % 2 == 0)
            {
                c = "";
            }
            TQMG.Color(127, 127, 127);
            TQMG.SimpleTile(UI.back, 0, 0, UI.ScrWidth, UI.ScrHeight);
            TQMG.Color(255, 180, 0);
            font32.DrawText($"Object ({x},{y}): {obj.Cl("TeddyID")}", UI.ScrWidth / 2, 50, TQMG_TextAlign.Center);
            foreach (string key in ProjectData.ProjectConfig.List($"OBJECT.{obj.ObjType}"))
            {
                if (curField == "")
                {
                    curField = key;
                }
                var cur = "";
                var r   = (byte)180;
                var g   = (byte)0;
                var b   = (byte)255;
                if (key == curField)
                {
                    cur = c;
                    r   = 0;
                    g   = 180;
                    b   = 255;
                }
                TQMG.Color((byte)(r / 10), (byte)(g / 10), (byte)(b / 10));
                TQMG.DrawRectangle(250, y, UI.ScrWidth - 300, 21);
                TQMG.Color(r, g, b);
                font20.DrawText($"{obj.Cl(key)}{cur}", 252, y);
                TQMG.Color((byte)(255 - r), (byte)(255 - g), (byte)(255 - b));
                font20.DrawText(key, 240, y, TQMG_TextAlign.Right);
                if (muis.LeftButton == ButtonState.Pressed && muis.Y > y && muis.Y < y + 20)
                {
                    curField = key;
                }
                y += 23;
            }
        }
예제 #10
0
파일: Void.cs 프로젝트: Tricky1975/Void
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied, SamplerState.LinearWrap, null, null);
            // Stage

            Stage.DrawStage();

            // Mouse
            TQMG.Color(255, 255, 255); if (ms.X > 0 && ms.Y > 0)
            {
                MousePointer.Draw(ms.X, ms.Y);
            }

            spriteBatch.End();


            base.Draw(gameTime);
        }
예제 #11
0
 public override void Draw(Game1 game, GameTime gameTime)
 {
     #region draw list itself
     foreach (TL_Item item in Texes)
     {
         if (item.high)
         {
             TQMG.Color(255, 180, 0);
         }
         else
         {
             TQMG.Color(255, 255, 255);
         }
         item.dt.Draw(20, item.y - scrollY);
     }
     #endregion
     #region Draw scroll arrow
     #region up
     if (ms.X > ProjectData.Game.Window.ClientBounds.Width - 32 && ms.Y < 32)
     {
         TQMG.Color(180, 0, 255);
     }
     else
     {
         TQMG.Color(0, 180, 255);
     }
     UI.ArrowUp.Draw(ProjectData.Game.Window.ClientBounds.Width - 32, 0);
     #endregion
     #region Down
     if (ms.X > ProjectData.Game.Window.ClientBounds.Width - 32 && ms.Y > ProjectData.Game.Window.ClientBounds.Height - 32)
     {
         TQMG.Color(180, 0, 255);
     }
     else
     {
         TQMG.Color(0, 180, 255);
     }
     UI.ArrowDn.Draw(ProjectData.Game.Window.ClientBounds.Width - 32, ProjectData.Game.Window.ClientBounds.Height - 32);
     #endregion
     #endregion
 }
예제 #12
0
        public override void Draw(Game1 game, GameTime gameTime)
        {
            TQMG.Color(127, 127, 127);
            TQMG.Color(255, 180, 0);
            Head.Draw(UI.ScrWidth / 2, 50, TQMG_TextAlign.Center);

            // Todo: Tile the requested texture
            for (int i = 0; i < UI.LayerList.Length; i++)
            {
                if (!qstr.Prefixed(UI.LayerList[i], "Zone_"))
                {
                    var cy = 100 + (i * 21);
                    TQMG.Color(255, 255, 255);
                    UI.LayerText[i].Draw(5, cy);
                    if (MapConfig.Allow(ProjectData.Map.Texture[Tex], UI.LayerList[i]) == TexAllow.NotSet)
                    {
                        MapConfig.Allow(ProjectData.Map.Texture[Tex], UI.LayerList[i], TexAllow.Allow);
                    }
                    foreach (TexAllow a in AllowText.Keys)
                    {
                        var cx = ((int)a) * 150;
                        if (MapConfig.Allow(ProjectData.Map.Texture[Tex], UI.LayerList[i]) == a)
                        {
                            TQMG.Color(0, 180, 255);
                        }
                        else
                        {
                            TQMG.Color(180, 0, 255);
                        }
                        AllowText[a].Draw(cx, cy, TQMG_TextAlign.Center);
                        if (myMouse.Y > cy && myMouse.Y < cy + 20 && myMouse.X > cx - 70 && myMouse.X < cx + 70 && myMouse.LeftButton == ButtonState.Pressed)
                        {
                            MapConfig.Allow(ProjectData.Map.Texture[Tex], UI.LayerList[i], a);
                        }
                        // TODO: Click this
                    }
                }
            }
        }
예제 #13
0
 public override void Draw(Game1 game, GameTime gameTime)
 {
     TQMG.Color(127, 127, 127);
     TQMG.SimpleTile(UI.back, 0, 0, UI.ScrWidth, UI.ScrHeight);
     TQMG.Color(255, 180, 0);
     Caption.Draw(UI.ScrWidth / 2, 25, TQMG_TextAlign.Center);
     foreach (ObjectItem item in ObjectItems)
     {
         TQMG.Color(180, 0, 255);
         if (mstate.X > item.x && mstate.X < item.x + 95 && mstate.Y > item.y && mstate.Y < item.y + 20)
         {
             TQMG.Color(0, 180, 255);
             if (mstate.LeftButton == ButtonState.Pressed)
             {
                 UI.CurrentObject = item.ObjName;
                 Main.ComeToMe();
                 UI.DontMouse = true;
             }
         }
         item.ObjText.Draw(item.x + 3, item.y);
     }
 }
예제 #14
0
 public override void Draw(GameTime gameTime)
 {
     TQMG.Color(255, 255, 255);
     if (BackGround != null)
     {
         TQMG.Tile(BackGround, 0, 0, 0, 0, TQMG.ScrWidth, TQMG.ScrHeight);
     }
     try {
         var y = ScrollUp - StartY;
         foreach (BCLine l in Line)
         {
             if (y > -30)
             {
                 //SysFont.DrawText(l.txt, 2, y);
                 l.Show(2, y);
             }
             y += 22;
         }
         TQMG.Color(255, 180, 0);
         SysFont.DrawText($">{TypingCommand}_", 2, y);
     } catch (Exception error) {
         Debug.WriteLine($"Exception during the debug log rendering!\n{error.Message}\nTraceback:\n{error.StackTrace}\n\n");
     }
 }
예제 #15
0
        static public void Draw()
        {
            TQMG.Color(Color.White);
            Void.Back.Draw(0, 0, 0, 0, TQMG.ScrWidth, 20);
            var nix = 5;

            foreach (Heads h in (Heads[])Enum.GetValues(typeof(Heads)))
            {
                if (Top[h] == null)
                {
                    new PullDownMenus(h);
                    Top[h].TopX      = nix;
                    Top[h].Caption   = $"{h}";
                    Top[h].CaptGraph = Void.Font.Text(Top[h].Caption, true);
                }
                if (Selected == Top[h])
                {
                    TQMG.Color(0, 255, 255);
                    TQMG.DrawRectangle(nix - 5, 0, Top[h].CaptGraph.Width + 10, 20);
                    TQMG.Color(Color.Black);
                }
                else
                {
                    TQMG.Color(0, 255, 255);
                }
                Top[h].CaptGraph.Draw(nix, 4);
                if (Void.ms.LeftButton == ButtonState.Pressed)
                {
                    if (Void.ms.X > nix && Void.ms.Y < 20 && Void.ms.X < nix + Top[h].CaptGraph.Width + 10)
                    {
                        Selected = Top[h];
                    }
                }
                nix += Top[h].CaptGraph.Width + 10;
            }
        }
예제 #16
0
 public void Show(int x, int y)
 {
     TQMG.Color(r, g, b);
     SysFont.DrawText(txt, x, y);
 }
예제 #17
0
파일: Editor.cs 프로젝트: Tricky1975/Void
        public override void Draw()
        {
            if (lchr < 256)
            {
                Void.Font.DrawText($"{(char)lchr}!", 0, 0);
                lchr++;
            }

            // Positions
            var StatY = TQMG.ScrHeight - 20;
            var OutX  = TextX + TextW;
            var OutW  = TQMG.ScrWidth - (TextX + TextW);

            // Document Content
            if (Doc != null)
            {
                TQMG.Color(127, 127, 127);
            }
            Void.VoidBack.Draw((TextX + (TextW / 2)) - (Void.VoidBack.Width / 2), (TextY + (TextH / 2)) - (Void.VoidBack.Height / 2));
            if (Doc != null)
            {
                for (int lnnr = 0; lnnr < Doc.Lines.Count; lnnr++)
                {
                    var py = lnnr - Doc.scrolly;
                    var ty = TextY + (py * 16);
                    if (ty >= TextY && ty < StatY)
                    {
                        TQMG.Color(127, 127, 127);
                        Void.Font.DrawText($"{lnnr + 1} {(char)186}", TextX + (144), ty, TQMG_TextAlign.Right);
                    }
                    var tx = 172;
                    if (Doc.Lines[lnnr].Letters == null)
                    {
                        Doc.Lexer.Chop(Doc.Lines[lnnr]);
                    }
                    if (Doc.Lines[lnnr].Letters != null)
                    {
                        for (int psnr = 0; psnr < Doc.Lines[lnnr].Letters.Count(); psnr++)
                        {
                            if (psnr >= Doc.scrollx && tx < TextW)
                            {
                                var let = Doc.Lines[lnnr].Letters[psnr];
                                TQMG.Color(let.Col);
                                if (psnr == Doc.posx && lnnr == Doc.posy)
                                {
                                    TQMG.DrawRectangle(tx, ty, let.cl * 8, 16);
                                    TQMG.Color((byte)(255 - let.Col.R), (byte)(255 - let.Col.G), (byte)(255 - let.Col.B));
                                }
                                if (let.str != ' ' && let.str != '\t')
                                {
                                    Void.Font.fimg.Draw(tx, ty, (byte)let.str);
                                }
                                tx += let.cl * 8;
                            }
                        }
                        if (Doc.PosY == lnnr && Doc.PosX == Doc.Lines[lnnr].Letters.Count())
                        {
                            TQMG.Color(Color.Aquamarine);
                            TQMG.DrawRectangle(tx, ty, 8, 16);
                        }
                    }
                }
            }


            // Project, FileList and Outline
            TQMG.Color(255, 255, 255);
            Void.Back.Draw(OutX, TextY, TextX + TextW, TextY, OutW, TextW);
            // Project list
            TQMG.Color(255, 0, 0);
            TQMG.SetAlpha(50);
            TQMG.DrawRectangle(OutX, TextY, OutW, 64);
            TQMG.Color(255, 255, 0);
            TQMG.SetAlpha(255);
            {
                var y = 0 - ProjectScroll;
                foreach (string n in Project.ProjMap.Keys)
                {
                    if (y >= 0 && y < 4)
                    {
                        var n2 = Project.ProjMap[n].CFG["Title"]; if (n2.Length > 40)
                        {
                            n2 = $"{qstr.Left(n2, 16)}...{qstr.Right(n2, 16)}";
                        }
                        var iy  = TextY + (y * 16);
                        var Txt = Void.Font.Text(n2);
                        TQMG.Color(255, 255, 0);
                        if (n == Project.ChosenProjectID)
                        {
                            TQMG.DrawRectangle(OutX, iy, Txt.Width, 16);
                            TQMG.Color(255, 0, 0);
                        }
                        Txt.Draw(OutX, iy);
                        if (Void.ms.X > OutX && Void.ms.Y > iy && Void.ms.Y < iy + 16 && Void.ms.LeftButton == Microsoft.Xna.Framework.Input.ButtonState.Pressed)
                        {
                            Project.ChosenProjectID = n;
                        }
                        y++;
                    }
                }
            }

            // File List
            TQMG.Color(0, 255, 0);
            TQMG.SetAlpha(50);
            TQMG.DrawRectangle(OutX, TextY + 64, OutW, 128);
            TQMG.Color(180, 255, 0);
            TQMG.SetAlpha(255);
            {
                var y = 0 - FileScroll;
                void PS(int tab = 0, Project.Item Item = null)
                {
                    TMap <string, Project.Item> IL;

                    if (Item == null)
                    {
                        IL = Project.ChosenProject.ItemMap;
                    }
                    else
                    {
                        IL = Item.SubDirectory;
                    }
                    foreach (string key in IL.Keys)
                    {
                        var V  = IL[key];
                        var iy = TextY + 64 + (y * 16);
                        switch (V.Type)
                        {
                        case Project.ItemType.NonExistent:
                            throw new Exception($"File '{key}' appears to be marked as Non-Existent!");

                        case Project.ItemType.File:
                            TQMG.Color(180, 255, 0);
                            if (y >= 0 && y < 8)
                            {
                                if (V == Project.ChosenProject.CurrentItem)
                                {
                                    TQMG.DrawRectangle(OutX, iy, TQMG.ScrWidth - OutX - 10, 16);
                                    TQMG.Color(0, 25, 0);
                                }
                                Void.Font.DrawText($"F> {qstr.Str(" ", tab)}{key}", OutX, iy);
                                if (Void.ms.Y > iy && Void.ms.Y < iy + 16 && Void.ms.X > OutX && Void.ms.X < TQMG.ScrWidth - 10 && Void.ms.LeftButton == Microsoft.Xna.Framework.Input.ButtonState.Pressed)
                                {
                                    Project.ChosenProject.CurrentItem = V;
                                }
                            }
                            y++;
                            break;

                        case Project.ItemType.Directory:
                            TQMG.Color(255, 255, 0);
                            if (y >= 0 && y < 8)
                            {
                                Void.Font.DrawText($"D> {qstr.Str(" ", tab)}{key}/", OutX, TextY + 64 + (y * 16));
                            }
                            y++;
                            PS(tab + 1, V);
                            break;

                        default:
                            throw new Exception("Fatal Internal Error! Unknown filetype in file outline");
                        }
                    }
                }

                if (Project.ChosenProject != null)
                {
                    PS();
                }
                if (FileScroll != 0)
                {
                    TQMG.Color(180, 255, 0);
                    Void.Font.DrawText($"{(char)30}", TQMG.ScrWidth, TextY + 64, TQMG_TextAlign.Right);
                    if (Void.ms.LeftButton == ButtonState.Pressed && Void.ms.X > TQMG.ScrWidth - 8 && Void.ms.Y > TextY + 64 && Void.ms.Y < TextY + 80)
                    {
                        FileScroll--;
                    }
                }
                if (y > 8)
                {
                    TQMG.Color(180, 255, 0);
                    Void.Font.DrawText($"{(char)31}", TQMG.ScrWidth, TextY + 64 + 112, TQMG_TextAlign.Right);
                    if (Void.ms.LeftButton == ButtonState.Pressed && Void.ms.X > TQMG.ScrWidth - 8 && Void.ms.Y > TextY + 64 + 112 && Void.ms.Y < TextY + 64 + 128)
                    {
                        FileScroll++;
                    }
                }
            }

            // Outline
            if (Project.ChosenProject != null && Project.ChosenProject.CurrentItem != null)
            {
                TQMG.Color(0, 180, 255);
                var y  = 0;
                var ty = TextY + 64 + 128;
                if (Project.ChosenProject.CurrentDoc.Outline.Count == 0)
                {
                    TQMG.Color(255, 0, 180);
                    Void.Font.DrawText("Nothing to outline", OutX, ty);
                }
                foreach (string n in Project.ChosenProject.CurrentDoc.Outline.Keys)
                {
                    if (y >= OutLineScroll && ty < StatY - 16)
                    {
                        Void.Font.DrawText(n, OutX, ty);
                        ty += 16;
                    }
                }
            }

            // Status bar
            TQMG.Color(Color.White);
            Void.Back.Draw(0, StatY, TQMG.ScrWidth, 20);
            if (Project.ChosenProject == null || Project.ChosenProject.CurrentItem == null)
            {
                TQMG.Color(Color.Red);
                Void.Font.DrawText("No document", 0, StatY);
            }
            else
            {
                Void.Font.DrawText(Project.ChosenProject.CurrentItem.filename, 0, StatY);
                if (Project.ChosenProject.CurrentDoc != null)
                {
                    Void.Font.DrawText($"(Ln:{Project.ChosenProject.CurrentDoc.posy + 1}; Pos:{Project.ChosenProject.CurrentDoc.posx + 1})", TQMG.ScrWidth - 10, StatY, TQMG_TextAlign.Right);
                }
                else
                {
                    TQMG.Color(Color.Red);
                    Void.Font.DrawText("Doc Failure!", TQMG.ScrWidth - 10, StatY, TQMG_TextAlign.Right);
                }
                if (Insert)
                {
                    TQMG.Color(Color.White);
                    Void.Font.DrawText("Insert", TQMG.ScrWidth - 300, StatY, TQMG_TextAlign.Center);
                }
                else
                {
                    TQMG.Color(Color.Violet);
                    Void.Font.DrawText("Overwrite", TQMG.ScrWidth - 300, StatY, TQMG_TextAlign.Center);
                }
                if (Void.kb.CapsLock)
                {
                    TQMG.Color(Color.Tomato);
                    Void.Font.DrawText("Caps Lock", TQMG.ScrWidth - 400, StatY, TQMG_TextAlign.Center);
                }
            }



            // PullDown
            PullDownMenus.Draw();
        }