/// <summary> /// Called when a selection of the station has changed. /// </summary> private void onStationChanged(object sender, EventArgs e) { // Builds a new preview bitmap and set it to the picture box PreviewDrawer drawer; if (selectedStation == null) { drawer = new PreviewDrawer(stationPicture.ClientSize, new Distance()); } else { drawer = new PreviewDrawer(stationPicture.ClientSize, selectedStation.Size); drawer.DrawCenter(selectedStation.Sprites); } if (stationPreviewBitmap != null) { stationPreviewBitmap.Dispose(); } stationPicture.Image = stationPreviewBitmap = drawer.CreateBitmap(); drawer.Dispose(); updateAlphaSprites(); }
/// <summary> /// /// </summary> /// <param name="pixelSize"></param> /// <returns></returns> public override PreviewDrawer CreatePreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, size); drawer.DrawCenter(sprites); return(drawer); }
private void onAmountChanged(object sender, EventArgs e) { if (count.Value != 0 && selectedTrain != null) { TrainCarContribution[] cars = selectedTrain.Create((int)length.Value); if (cars != null) { buttonOK.Enabled = true; // TODO: non-linear price support totalPrice.Text = getTotalPrice().ToString(); int p = 0; foreach (TrainCarContribution car in cars) { p += car.Capacity; } passenger.Text = p.ToString() + " passengers/set"; //! passenger.Text = p.ToString()+" 人/編成"; using (PreviewDrawer pd = selectedTrain.CreatePreview(preview.ClientSize, (int)length.Value)) { preview.Image = pd.CreateBitmap(); } return; } } buttonOK.Enabled = false; totalPrice.Text = "---"; passenger.Text = "---"; }
protected void redrawPreview() { if (current.current is VarHeightBuildingContribution) { using (PreviewDrawer drawer = ((VarHeightBuildingContribution)current.current).createPreview(previewBox.Size, (int)numHeight.Value)) { if (previewBitmap != null) { previewBitmap.Dispose(); } previewBox.Image = previewBitmap = drawer.createBitmap(); } } else { using (PreviewDrawer drawer = current.current.createPreview(previewBox.Size)) { if (previewBitmap != null) { previewBitmap.Dispose(); } previewBox.Image = previewBitmap = drawer.createBitmap(); } } updateAlphaSprites(); if (bShowDetail) { labelInfo.Text = getDetailText(); } //描画異常がおこるため Invalidate(); Update(); }
/// <inheritdoc/> public override void Setup(IInspectorDrawer drawer, InspectorPreferences setPreferences, Object[] inspected, Vector2 scrollPos, bool viewIsLocked) { #if DEV_MODE && DEBUG_SETUP_TIME var timer = new ExecutionTimeLogger(); timer.Start(GetType().Name + ".Setup"); #endif #if DEV_MODE && PI_ASSERTATIONS Debug.Assert(setPreferences != null); #endif previewDrawer = new PreviewDrawer(this); // Call base.Setup before calling Setup for the toolbar, so that the Preferences field gets assigned first base.Setup(drawer, setPreferences, inspected, scrollPos, viewIsLocked); #if DEV_MODE && PI_ASSERTATIONS Debug.Assert(Preferences != null); Debug.Assert(Preferences == setPreferences); #endif #if DEV_MODE && DEBUG_SETUP_TIME timer.FinishAndLogResults(); #endif }
public override void updatePreview() { RailPattern rp = RailPattern.get(currentDirection, currentDirection.opposite); using (PreviewDrawer drawer = new PreviewDrawer(preview.Size, new Size(1, 1), 0)) { // draw the rail for (int i = -5; i < 5; i++) { if (currentDirection.isParallelToX) { drawer.draw(rp, i, 0); } else { drawer.draw(rp, 0, i); } } // draw the signal drawer.draw(rp, 0, 0); drawer.draw(currentType.getSprite(currentDirection), 0, 0); // draw the arrow currentDirection.drawArrow(drawer.surface, drawer.getPoint(-currentDirection.offsetX, -currentDirection.offsetY)); preview.Image = drawer.createBitmap(); } }
public PreviewDrawer createPreview(Size pixelSize, int height) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, size, maxHeight /*middle*/); int mh = height - 2; int z = 0; for (int i = bottoms.Length - 1; i >= 0; i--) { drawer.draw(bottoms[i], 0, 0, z++); } if (overlay) { z--; mh++; } for (int i = 0; i < mh; i++) { drawer.draw(middle, 0, 0, z++); } for (int i = tops.Length - 1; i >= 0; i--) { drawer.draw(tops[i], 0, 0, z++); } return(drawer); }
public override void updatePreview() { PreviewDrawer drawer; // TODO: locations of the previews are uttely incorrect. fix them // direction N using (drawer = new PreviewDrawer(pictureN.ClientSize, new Size(2, 4), 0)) { drawer.draw(RailPattern.getSlope(Direction.NORTH, 3), 1, -1); drawer.draw(RailPattern.getSlope(Direction.NORTH, 2), 1, 0); drawer.draw(RailPattern.getSlope(Direction.NORTH, 1), 0, 2); drawer.draw(RailPattern.getSlope(Direction.NORTH, 0), 0, 3); if (pictureN.Image != null) { pictureN.Image.Dispose(); } pictureN.Image = drawer.createBitmap(); } // direction S using (drawer = new PreviewDrawer(pictureS.ClientSize, new Size(2, 4), 0)) { drawer.draw(RailPattern.getSlope(Direction.SOUTH, 0), 0, 0); drawer.draw(RailPattern.getSlope(Direction.SOUTH, 1), 0, 1); drawer.draw(RailPattern.getSlope(Direction.SOUTH, 2), 1, 1); drawer.draw(RailPattern.getSlope(Direction.SOUTH, 3), 1, 2); if (pictureS.Image != null) { pictureS.Image.Dispose(); } pictureS.Image = drawer.createBitmap(); } // direction E using (drawer = new PreviewDrawer(pictureE.ClientSize, new Size(4, 2), 0)) { drawer.draw(RailPattern.getSlope(Direction.EAST, 3), 3, 0); drawer.draw(RailPattern.getSlope(Direction.EAST, 2), 2, 0); drawer.draw(RailPattern.getSlope(Direction.EAST, 1), 0, 1); drawer.draw(RailPattern.getSlope(Direction.EAST, 0), -1, 1); if (pictureE.Image != null) { pictureE.Image.Dispose(); } pictureE.Image = drawer.createBitmap(); } // direction W using (drawer = new PreviewDrawer(pictureW.ClientSize, new Size(4, 2), 0)) { drawer.draw(RailPattern.getSlope(Direction.WEST, 3), 1, 0); drawer.draw(RailPattern.getSlope(Direction.WEST, 2), 2, 0); drawer.draw(RailPattern.getSlope(Direction.WEST, 1), 2, 1); drawer.draw(RailPattern.getSlope(Direction.WEST, 0), 3, 1); if (pictureW.Image != null) { pictureW.Image.Dispose(); } pictureW.Image = drawer.createBitmap(); } }
/// <summary> /// Called when a selection of the structure has changed. /// </summary> protected virtual void updatePreview() { using (PreviewDrawer drawer = currentContrib.createPreview(preview.Size)) { if (previewBitmap != null) { previewBitmap.Dispose(); } preview.Image = previewBitmap = drawer.createBitmap(); } }
/// <summary> /// Builds a nice preview of a train. /// </summary> public PreviewDrawer CreatePreview(Size pixelSize, int trainlength) { PreviewDrawer pd = new PreviewDrawer(pixelSize, new Size(1, 3), 0); // build up rail like // // /~~~~~ // / for (int x = -10; x < 0; x++) { pd.Draw(RailPattern.get(Direction.WEST, Direction.EAST), x, 0); } pd.Draw(RailPattern.get(Direction.WEST, Direction.SOUTHEAST), 0, 0); for (int x = 1; x <= 10; x++) { pd.Draw(RailPattern.get(Direction.NORTHWEST, Direction.SOUTHEAST), x, x); } TrainCarContribution[] cars = Create(trainlength); /*if( cars==null ) { * for( int i=6; cars==null && i<15; i++ ) * cars = create(i); * for( int i=4; cars==null && i>0; i-- ) * cars = create(i); * if( cars==null ) * return pd; // no preview * }*/ if (cars == null) { return(pd); // no preview } int[] pos = new int[] { -2, 0, -1, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5 }; int[] angle = new int[] { 12, 12, 13, 14, 14, 14, 14, 14 }; int[] offset = new int[] { 0, 0, 0, 0, 4, +2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; using (DrawContext dc = new DrawContext(pd.Surface)) { for (int i = 7; i >= 0; i--) { if (cars.Length <= i) { continue; // no car } Point pt = pd.GetPoint(pos[i * 2], pos[i * 2 + 1]); cars[i].Draw(pd.Surface, new Point(pt.X + offset[i * 2], pt.Y + offset[i * 2 + 1] - 9), angle[i]); } } return(pd); }
/// <summary> /// Called when a selection of the structure has changed. /// </summary> public override void UpdatePreview() { using (PreviewDrawer drawer = currentContrib.CreatePreview(preview.Size)) { if (previewBitmap != null) { previewBitmap.Dispose(); } preview.Image = previewBitmap = drawer.CreateBitmap(); } }
/// <summary> /// Called when a selection of the structure has changed. /// </summary> protected virtual void onTypeChanged(object sender, System.EventArgs e) { ElectricPoleContribution contrib = (ElectricPoleContribution)typeBox.SelectedItem; using (PreviewDrawer drawer = contrib.createPreview(preview.Size)) { if (previewBitmap != null) { previewBitmap.Dispose(); } preview.Image = previewBitmap = drawer.createBitmap(); } recreateController(); }
/// <summary> /// /// </summary> /// <param name="pixelSize"></param> /// <returns></returns> public override PreviewDrawer CreatePreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(7, 1), 1); drawer.Draw(sprites[currentColor][Direction.WEST, PlaceSide.Fore], 3, 1); drawer.Draw(sprites[currentColor][Direction.EAST, PlaceSide.Back], 2, 0); if (hilights != null) { drawer.Draw(hilights[currentHighlight][Direction.WEST, PlaceSide.Fore], 3, 1); drawer.Draw(hilights[currentHighlight][Direction.EAST, PlaceSide.Back], 2, 0); } return(drawer); }
/// <summary> /// Creates the preview image of the land builder. /// </summary> public override PreviewDrawer createPreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(1, 8), 0); Sprite sp = getSprite(Dir.N | Dir.S); for (int y = -4; y <= 4; y++) { drawer.draw(sp, 0, y); } return(drawer); }
public override void updatePreview() { using (PreviewDrawer drawer = selectedType.createPreview(preview.Size)) { if (previewBitmap != null) { previewBitmap.Dispose(); } preview.Image = previewBitmap = drawer.createBitmap(); } updateAlphaSprites(); }
/// <summary> /// Creates the preview image of the land builder. /// </summary> public override PreviewDrawer createPreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(10, 10), 0); for (int y = 0; y < 10; y++) { for (int x = 0; x < 10; x++) { drawer.draw(getLand().sprite, x, y); } } return(drawer); }
/// <summary> /// Creates the preview image of the land builder. /// </summary> public override PreviewDrawer createPreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(3, 3), 0); for (int y = 0; y < 3; y++) { for (int x = 2; x >= 0; x--) { drawer.draw(sprites[getSpriteIndex(x, y, 0, 2, 0, 2)], x, y); } } return(drawer); }
/// <summary> /// Creates the preview image of the land builder. /// </summary> public override PreviewDrawer createPreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(3, 3), 0); for (int y = 0; y < 3; y++) { for (int x = 0; x < 3; x++) { drawer.draw(sprites[getIndex(0, x, 2), getIndex(0, y, 2)], x, y); } } return(drawer); }
public override PreviewDrawer createPreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(10, 1), 0); for (int x = 9; x >= 0; x--) { if (x == 5) { drawer.draw(sprites[currentColor, 0], x, 0); } //drawer.draw( RoadPattern.get((byte)Direction.EAST), x,0 ); } return(drawer); }
public override void updatePreview() { LandBuilderContribution builder = (LandBuilderContribution)indexSelector.currentItem; using (PreviewDrawer drawer = builder.createPreview(preview.Size)) { if (previewBitmap != null) { previewBitmap.Dispose(); } preview.Image = previewBitmap = drawer.createBitmap(); } currentController = builder.createBuilder(new ControllerSiteImpl(this)); }
public override void updatePreview() { using (PreviewDrawer drawer = new PreviewDrawer(picture.Size, new Size(1, 10), 0)) { for (int i = 0; i < 10; i++) { drawer.draw(RailPattern.get(Direction.NORTH, Direction.SOUTH), 0, i); } if (picture.Image != null) { picture.Image.Dispose(); } picture.Image = drawer.createBitmap(); } }
private void buttonOK_Click(object sender, System.EventArgs e) { string dir = output.Text; if (!Directory.Exists(dir)) { MessageBox.Show(this, "The output directory does not exist"); //! MessageBox.Show(this,"指定された出力先は存在しません"); return; } // initialize the progress bar progressBar.Minimum = 0; progressBar.Maximum = Core.plugins.trains.Length; progressBar.Value = 0; // prepare the XML writer TextWriter xml = new StreamWriter( new FileStream(Path.Combine(dir, "index.xml"), FileMode.Create)); xml.WriteLine("<?xml version='1.0'?>"); xml.WriteLine("<trainList>"); xml.WriteLine("<companies>"); foreach (string company in listCompanies()) { writeElement(xml, company, "company"); } xml.WriteLine("</companies>"); foreach (TrainContribution contrib in Core.plugins.trains) { using (PreviewDrawer pd = contrib.createPreview(new Size(150, 75))) { using (Bitmap bmp = pd.createBitmap()) { string fileName = Path.Combine(dir, contrib.id + ".png"); bmp.Save(fileName, ImageFormat.Png); } } outputManifest(contrib, xml); progressBar.Value++; Application.DoEvents(); } xml.WriteLine("</trainList>"); xml.Close(); }
/// <summary> /// Creates the preview image of the land builder. /// </summary> public override PreviewDrawer createPreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(3, 3), 0); for (int x = 0; x <= 3; x++) { drawer.draw(sprites[Direction.NORTH.index / 2], x, 0); drawer.draw(sprites[Direction.SOUTH.index / 2], x, 3); } for (int y = 0; y <= 3; y++) { drawer.draw(sprites[Direction.WEST.index / 2], 0, y); drawer.draw(sprites[Direction.EAST.index / 2], 3, y); } return(drawer); }
/// <summary> /// /// </summary> public override void UpdatePreview() { using (PreviewDrawer drawer = new PreviewDrawer(preview.Size, new Size(3, 3), 0)) { for (int x = 0; x < 3; x++) { for (int y = 0; y < 3; y++) { drawer.Draw(LandPropertyVoxel.sprite, x, y); } } if (preview.Image != null) { preview.Image.Dispose(); } preview.Image = drawer.CreateBitmap(); } }
public override PreviewDrawer createPreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(10, 1), 0); for (int x = 9; x >= 0; x--) { if (x == 5) { drawer.draw(sprites[0, 0], x, 0); } drawer.draw(RailPattern.get(Direction.EAST, Direction.WEST), x, 0); if (x == 5) { drawer.draw(sprites[0, 1], x, 0); } } return(drawer); }
/// <summary> /// Called when a selection of the structure has changed. /// </summary> protected virtual void UpdatePreview(DummyCarContribution builder) { //DummyCarContribution builder = (DummyCarContribution)typeBox.SelectedItem; using (PreviewDrawer drawer = new PreviewDrawer(preview.Size, new Size(10, 1), 0)) { drawer.Draw(builder.GetSprites(), 5, 0); if (previewBitmap != null) { previewBitmap.Dispose(); } preview.Image = previewBitmap = drawer.CreateBitmap(); } //if (isPlacing) //currentController = builder.createBuilder(this.siteImpl); //else //currentController = builder.createRemover(this.siteImpl); }
/// <summary> /// Called when a selection of the structure has changed. /// </summary> protected virtual void OnTypeChanged(object sender, System.EventArgs e) { RoadAccessoryContribution builder = (RoadAccessoryContribution)typeBox.SelectedItem; if (builder != null) { using (PreviewDrawer drawer = builder.CreatePreview(preview.Size)) { if (previewBitmap != null) { previewBitmap.Dispose(); } preview.Image = previewBitmap = drawer.CreateBitmap(); } //if (isPlacing) // currentController = builder.createBuilder(this.siteImpl); //else // currentController = builder.createRemover(this.siteImpl); } }
/// <summary> /// /// </summary> public void updatePreview() { length.Enabled = count.Enabled = buttonOK.Enabled = (selectedTrain != null); Image im = preview.Image; if (im != null) { preview.Image = null; im.Dispose(); } if (selectedTrain != null) { name.Text = selectedTrain.Name; author.Text = selectedTrain.Author; description.Text = selectedTrain.Description; speed.Text = selectedTrain.SpeedDisplayName; length.Maximum = selectedTrain.MaxLength; length.Minimum = selectedTrain.MinLength; //if (length.Value > selectedTrain.maxLength) length.Value = selectedTrain.maxLength; using (PreviewDrawer pd = selectedTrain.CreatePreview(preview.ClientSize, (int)length.Value)) { preview.Image = pd.CreateBitmap(); } if (count.Value == 0) { // if the user changes the type, s/he is going to buy another train. // thus change the value to 1. count.Value = 1; } onAmountChanged(null, null); } else { name.Text = author.Text = description.Text = speed.Text = ""; } }
public override PreviewDrawer createPreview(Size pixelSize) { PreviewDrawer drawer = new PreviewDrawer(pixelSize, size, tops.Length + bottoms.Length + 1 /*middle*/); int z = 0; for (int i = bottoms.Length - 1; i >= 0; i--) { drawer.draw(bottoms[i], 0, 0, z++); } if (overlay) { drawer.draw(middle, 0, 0, z - 1); } drawer.draw(middle, 0, 0, z++); for (int i = tops.Length - 1; i >= 0; i--) { drawer.draw(tops[i], 0, 0, z++); } return(drawer); }
/// <summary> /// Creates the preview image of the land builder. /// </summary> public override PreviewDrawer createPreview(Size pixelSize) { const int r = 8; PreviewDrawer drawer = new PreviewDrawer(pixelSize, new Size(r, r), 0); for (int y = 0; y < r; y++) { for (int x = 0; x < r; x++) { Point pt = drawer.getPoint(x, y, 0); byte[] tree = createRandomTrees(); for (int i = 0; i < tree.Length; i += 3) { sprites[tree[i + 2]].draw(drawer.surface, new Point(pt.X + tree[i + 0], pt.Y + tree[i + 1])); } } } return(drawer); }