Пример #1
0
        void InitImageParts()
        {
            sb_parts   = StackBlockImgParts.FromBitmap(BitmapExtensions.LoadBmp("stack_blue_small.bmp"));
            fib_parts  = StackBlockImgParts.FromBitmap(BitmapExtensions.LoadBmp("function_green_small.bmp"));
            bool_parts = StackBlockImgParts.FromBitmap(BitmapExtensions.LoadBmp("boolean.bmp"));
            pdb_parts  = StackBlockImgParts.FromBitmap(BitmapExtensions.LoadBmp("procdef_small.bmp"));
            varb_parts = Nine.FromBitmap(BitmapExtensions.LoadBmp("var_purple_small.bmp"), Color.Red);
            hatb_parts = StackBlockImgParts.FromBitmap(BitmapExtensions.LoadBmp("hat_small.bmp"));
            capb_parts = StackBlockImgParts.FromBitmap(BitmapExtensions.LoadBmp("cap_small.bmp"));

            cb_parts = new CBlockImgParts();
            cb_parts.FromBitmapCutting(BitmapExtensions.LoadBmp("C_stack_full.bmp"), Color.Red);
            ib_parts = Nine.FromBitmap(BitmapExtensions.LoadBmp("input_controls_small.bmp"), Color.Red);

            specialTextBits["_flag"] = (BitmapExtensions.LoadBmp("flag_textbit.bmp")).Transparent();
        }
Пример #2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            Graphics g = panel1.CreateGraphics();

            controller            = new BlockController(g, this.Font, panel1.Size, () => MakeTextBox());
            controller.Modified  += new ControllerModified(controller_Modified);
            document              = new Document("Kitsune");
            document.TitleChange += new TitleChangeEvent(document_TitleChange);
            document.SetTitle();
            RegisterMethods();
            controller.InitPalette(); // after methods are registered

            vm       = new VM.VM();
            compiler = new Compiler(vm, controller.GetBlockSpace());

            runForm = panel2;
            //runForm.Location = this.Location;
            //runForm.Size = this.Size;
            runGraphics = runForm.CreateGraphics();
            stage       = new Stage.Stage(runGraphics, this.Font, runForm.ClientSize);
            kitsune     = new Sprite(BitmapExtensions.LoadBmp("kitsune2.bmp"),
                                     runForm.ClientRectangle.Center().Offseted(-15, -15),
                                     true,
                                     -90);


            runForm.Paint       += new PaintEventHandler(runForm_Paint);
            runForm.DoubleClick += new EventHandler(runForm_DoubleClick);
            stage.AddSprite(kitsune);
            stage.RedrawAll();
            PrepareVM(vm, stage);
            PrepareCompiler(compiler);


            // I really should use a testing framework
            // testSplitFuncArgs();
            // testCBlockView(new Point(10, 10));
            // testReporterBlockView(new Point(250, 10));
            // testBlockStackView(new Point(450, 10));
        }
Пример #3
0
        public CanvasView(Graphics graphics, Size canvasSize,
                          Dictionary <IBlockView, Point> subViews, List <DropRegion> dropRegions,
                          Font textFont, Palette palette)
        {
            this.graphics    = graphics;
            this.subViews    = subViews;
            this.dropRegions = dropRegions;
            this.canvas      = new Bitmap(canvasSize.Width, canvasSize.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
            this.textFont    = textFont;
            Bitmap bg  = BitmapExtensions.LoadBmp("bg.bmp");
            Bitmap bg2 = new Bitmap(bg.Width, bg.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

            using (Graphics g = Graphics.FromImage(bg2))
            {
                g.DrawImageUnscaled(bg, 0, 0);
            }
            bg.Dispose();
            this.backgroundBrush = new TextureBrush(bg2);
            this.palette         = palette;
            palette.Location     = new Point(10, 10);
            // InitBackGround(canvasSize);
        }