public void AddImage(RenderableImage image) { if (!AdditionalImages.Contains(image)) { AdditionalImages.Add(image); } }
public void RemoveImage(RenderableImage image) { if (AdditionalImages.Contains(image)) { AdditionalImages.Remove(image); } }
private ScrollableGrid InitializeInventory(Living creature) { ScrollableGrid grid = new ScrollableGrid(4, CharacterMenuLayout.GetInventoryBounds(), int.MaxValue, true, TextureLoader.FontMainMenuFont12x, 10); Dictionary <int, List <Item> > inventoryItems = creature.Inventory.GetAllInventoryItems(); foreach (KeyValuePair <int, List <Item> > item in inventoryItems) { int itemCount = this.CountAllItems(item.Value); Rectangle imageBounds = new Rectangle(0, 0, 32, 32); RenderableImage itemImage = new RenderableImage(imageBounds, item.Value[0].TextureName, true); RenderableString itemName = new RenderableString(ItemFont, item.Value[0].Name, Rendering.Text.SimpleTextRenderer.Alignment.Left); double stackWeight = item.Value[0].ItemWeight * itemCount; RenderableString itemWeight = new RenderableString(ItemFont, "Weight: " + stackWeight.ToString(), Rendering.Text.SimpleTextRenderer.Alignment.Left); RenderableString itemNumber = new RenderableString(ItemFont, "Count: " + itemCount.ToString(), Rendering.Text.SimpleTextRenderer.Alignment.Right); grid.Add(0, itemImage); grid.Add(1, itemName); grid.Add(2, itemWeight); grid.Add(3, itemNumber); } return(grid); }
private RenderableImage getNewRenderableImage(DoseGridWrapper doseWrapper) { RenderableImage renderableImage = new RenderableImage() { Alpha = 0.7f, BlendMode = DicomPanel.Core.Render.Blending.BlendMode.OverWhereNonZero, Grid = doseWrapper.Dose.Grid, LUT = doseWrapper.LUT, Name = "Dose", Scaling = doseWrapper.Dose.Grid.Scaling, ScreenRect = new RT.Core.Utilities.RTMath.Rectd(0, 0, 1, 1), Units = "undefined", }; return(renderableImage); }
/// <summary> /// Binds event handlers to the image control UI elements. /// </summary> private void BindImageControlEvents() { this.RenderAlphaCheckButton.Toggled += (sender, args) => { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } image.RenderAlphaChannel = this.RenderAlphaCheckButton.Active; }; this.RenderRedCheckButton.Toggled += (sender, args) => { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } image.RenderRedChannel = this.RenderRedCheckButton.Active; }; this.RenderGreenCheckButton.Toggled += (sender, args) => { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } image.RenderGreenChannel = this.RenderGreenCheckButton.Active; }; this.RenderBlueCheckButton.Toggled += (sender, args) => { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } image.RenderBlueChannel = this.RenderBlueCheckButton.Active; }; }
public ImagePreviewObject(DicomImageObject img) { Image = img; ImagePreview = new WriteableBitmap(50, 50, 96, 96, PixelFormats.Bgr32, null); var wbContext = new WriteableBitmapRenderContext(ImagePreview); wbContext.Resize(ImagePreview, 50, 50); var imgRenderer = new ImageRenderer(); var camera = new Camera(); camera.SetAxial(); camera.SetFOV(512, 512); camera.MoveTo(img.Grid.XRange.GetCentre(), img.Grid.YRange.GetCentre(), img.Grid.ZRange.GetCentre()); var renderableImage = new RenderableImage(); renderableImage.LUT = img.LUT; renderableImage.ScreenRect = new RT.Core.Utilities.RTMath.Rectd(0, 0, 1, 1); renderableImage.Scaling = img.Grid.Scaling; renderableImage.Grid = img.Grid; renderableImage.Units = "HU"; imgRenderer.BeginRender(renderableImage.ScreenRect, wbContext); imgRenderer.Render(renderableImage, camera, wbContext); imgRenderer.EndRender(renderableImage.ScreenRect, wbContext); }
/// <summary> /// Renders a /// <A HREF="../../java/awt/image/renderable/RenderableImage.html" title="interface in java.awt.image.renderable"><CODE>RenderableImage</CODE></A>, /// applying a transform from image space into user space before drawing. /// </summary> abstract public void drawRenderableImage(RenderableImage @img, AffineTransform @xform);
/// <summary> /// Enables the specified control page and brings it to the front. If the <paramref name="pageToEnable"/> /// parameter is <see cref="ControlPage.None"/>, this is interpreted as disabling all pages. /// </summary> /// <param name="pageToEnable">pageToEnable.</param> private void EnableControlPage(ControlPage pageToEnable) { if (pageToEnable == ControlPage.None) { foreach (ControlPage otherPage in Enum.GetValues(typeof(ControlPage))) { DisableControlPage(otherPage); } return; } if (Enum.IsDefined(typeof(ControlPage), pageToEnable)) { // Set the page this.ItemControlNotebook.Page = (int)pageToEnable; // Disable the other pages foreach (ControlPage otherPage in Enum.GetValues(typeof(ControlPage))) { if (otherPage == pageToEnable) { continue; } DisableControlPage(otherPage); } switch (pageToEnable) { case ControlPage.Image: { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } this.MipCountLabel.Text = image.MipCount.ToString(); this.RenderAlphaCheckButton.Sensitive = true; this.RenderRedCheckButton.Sensitive = true; this.RenderGreenCheckButton.Sensitive = true; this.RenderBlueCheckButton.Sensitive = true; image.RenderAlphaChannel = this.RenderAlphaCheckButton.Active; image.RenderRedChannel = this.RenderRedCheckButton.Active; image.RenderGreenChannel = this.RenderGreenCheckButton.Active; image.RenderBlueChannel = this.RenderBlueCheckButton.Active; break; } case ControlPage.Model: { this.RenderBoundsCheckButton.Sensitive = true; this.RenderWireframeCheckButton.Sensitive = true; RenderableWorldModel wmo = this.RenderingEngine.RenderTarget as RenderableWorldModel; if (wmo != null) { wmo.ShouldRenderBounds = this.RenderBoundsCheckButton.Active; wmo.ShouldRenderWireframe = this.RenderWireframeCheckButton.Active; } RenderableGameModel mdx = this.RenderingEngine.RenderTarget as RenderableGameModel; if (mdx != null) { mdx.ShouldRenderBounds = this.RenderBoundsCheckButton.Active; } break; } case ControlPage.Animation: { break; } case ControlPage.Audio: { break; } } } }
/// <summary> /// Initializes a new instance of the <see cref="MainWindow"/> class. /// </summary> /// <param name="builder">Builder.</param> /// <param name="handle">Handle.</param> private MainWindow(Builder builder, IntPtr handle) : base(handle) { builder.Autoconnect(this); this.DeleteEvent += OnDeleteEvent; this.Shown += OnMainWindowShown; this.WindowStateEvent += OnWindowStateChanged; this.UiThreadScheduler = TaskScheduler.FromCurrentSynchronizationContext(); this.FileLoadingCancellationSource = new CancellationTokenSource(); this.ViewportWidget = new GLWidget { CanFocus = true, SingleBuffer = false, ColorBPP = 24, DepthBPP = 24, AccumulatorBPP = 24, Samples = 4, GlVersionMajor = 3, GlVersionMinor = 3, GraphicsContextFlags = GraphicsContextFlags.Default, }; this.ViewportWidget.Events |= EventMask.ButtonPressMask | EventMask.ButtonReleaseMask | EventMask.EnterNotifyMask | EventMask.LeaveNotifyMask | EventMask.KeyPressMask | EventMask.KeyReleaseMask; this.ViewportWidget.Initialized += (sender, args) => { // Initialize all OpenGL rendering parameters this.RenderingEngine.Initialize(); Idle.Add(OnIdleRenderFrame); }; this.ViewportWidget.ButtonPressEvent += OnViewportButtonPressed; this.ViewportWidget.ButtonReleaseEvent += OnViewportButtonReleased; this.ViewportWidget.EnterNotifyEvent += OnViewportMouseEnter; this.ViewportWidget.LeaveNotifyEvent += OnViewportMouseLeave; this.ViewportWidget.ConfigureEvent += OnViewportConfigured; this.RenderingEngine = new ViewportRenderer(this.ViewportWidget); this.ViewportAlignment.Add(this.ViewportWidget); this.ViewportAlignment.ShowAll(); this.AboutButton.Clicked += OnAboutButtonClicked; this.PreferencesButton.Clicked += OnPreferencesButtonClicked; this.GameTabNotebook.ClearPages(); this.ExportQueueTreeView.ButtonPressEvent += OnExportQueueButtonPressed; this.ExportQueueTreeView.GetColumn(0).SetCellDataFunc ( this.ExportQueueTreeView.GetColumn(0).Cells[0], RenderExportQueueReferenceIcon ); this.ExportQueueTreeView.GetColumn(0).Expand = true; this.ExportQueueTreeView.GetColumn(0).SetCellDataFunc ( this.ExportQueueTreeView.GetColumn(0).Cells[1], RenderExportQueueReferenceName ); this.RemoveQueueItem.Activated += OnQueueRemoveContextItemActivated; this.FileFilterComboBox.Changed += OnFilterChanged; /* * Set up item control sections to default states */ EnableControlPage(ControlPage.None); /* * Bind item control events */ this.RenderAlphaCheckButton.Toggled += (sender, args) => { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } image.RenderAlphaChannel = this.RenderAlphaCheckButton.Active; }; this.RenderRedCheckButton.Toggled += (sender, args) => { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } image.RenderRedChannel = this.RenderRedCheckButton.Active; }; this.RenderGreenCheckButton.Toggled += (sender, args) => { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } image.RenderGreenChannel = this.RenderGreenCheckButton.Active; }; this.RenderBlueCheckButton.Toggled += (sender, args) => { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } image.RenderBlueChannel = this.RenderBlueCheckButton.Active; }; this.RenderBoundsCheckButton.Toggled += (sender, args) => { RenderableWorldModel wmo = this.RenderingEngine.RenderTarget as RenderableWorldModel; if (wmo != null) { wmo.ShouldRenderBounds = this.RenderBoundsCheckButton.Active; } RenderableGameModel mdx = this.RenderingEngine.RenderTarget as RenderableGameModel; if (mdx != null) { mdx.ShouldRenderBounds = this.RenderBoundsCheckButton.Active; } }; this.RenderWireframeCheckButton.Toggled += (sender, args) => { RenderableWorldModel wmo = this.RenderingEngine.RenderTarget as RenderableWorldModel; if (wmo != null) { wmo.ShouldRenderWireframe = this.RenderWireframeCheckButton.Active; } }; }
public void DrawRenderableImage(RenderableImage renderableimage, AffineTransform affinetransform) { DrawRenderedImage(renderableimage.CreateDefaultRendering(), affinetransform); }
/// <summary> /// Enables the specified control page and brings it to the front. If the <paramref name="pageToEnable"/> /// parameter is <see cref="ControlPage.None"/>, this is interpreted as disabling all pages. /// </summary> /// <param name="pageToEnable">pageToEnable.</param> private void EnableControlPage(ControlPage pageToEnable) { if (pageToEnable == ControlPage.None) { foreach (ControlPage otherPage in Enum.GetValues(typeof(ControlPage))) { DisableControlPage(otherPage); } return; } // Set the page this.ItemControlNotebook.Page = (int)pageToEnable; // Disable the other pages foreach (ControlPage otherPage in Enum.GetValues(typeof(ControlPage))) { if (otherPage == pageToEnable) { continue; } DisableControlPage(otherPage); } switch (pageToEnable) { case ControlPage.Image: { RenderableImage image = this.RenderingEngine.RenderTarget as RenderableImage; if (image == null) { return; } this.MipCountLabel.Text = image.MipCount.ToString(); this.RenderAlphaCheckButton.Sensitive = true; this.RenderRedCheckButton.Sensitive = true; this.RenderGreenCheckButton.Sensitive = true; this.RenderBlueCheckButton.Sensitive = true; image.RenderAlphaChannel = this.RenderAlphaCheckButton.Active; image.RenderRedChannel = this.RenderRedCheckButton.Active; image.RenderGreenChannel = this.RenderGreenCheckButton.Active; image.RenderBlueChannel = this.RenderBlueCheckButton.Active; break; } case ControlPage.Model: { this.RenderBoundsCheckButton.Sensitive = true; this.RenderWireframeCheckButton.Sensitive = true; this.RenderDoodadsCheckButton.Sensitive = true; this.ModelVariationComboBox.Sensitive = true; RenderableWorldModel wmo = this.RenderingEngine.RenderTarget as RenderableWorldModel; if (wmo != null) { wmo.ShouldRenderBounds = this.RenderBoundsCheckButton.Active; wmo.ShouldRenderWireframe = this.RenderWireframeCheckButton.Active; wmo.ShouldRenderDoodads = this.RenderDoodadsCheckButton.Active; var doodadSetNames = wmo.GetDoodadSetNames().ToList(); this.ModelVariationListStore.Clear(); for (int i = 0; i < doodadSetNames.Count; ++i) { this.ModelVariationListStore.AppendValues(doodadSetNames[i], i); } this.ModelVariationComboBox.Active = 0; this.ModelVariationComboBox.Sensitive = this.RenderDoodadsCheckButton.Active; this.RenderDoodadsCheckButton.Sensitive = true; } RenderableGameModel mdx = this.RenderingEngine.RenderTarget as RenderableGameModel; if (mdx != null) { mdx.ShouldRenderBounds = this.RenderBoundsCheckButton.Active; mdx.ShouldRenderWireframe = this.RenderWireframeCheckButton.Active; var skinVariations = mdx.GetSkinVariations().ToList(); this.ModelVariationListStore.Clear(); foreach (var variation in skinVariations) { var firstTextureName = variation.TextureVariation1.Value; if (!string.IsNullOrEmpty(firstTextureName)) { this.ModelVariationListStore.AppendValues(variation.TextureVariation1.Value, variation.ID); } } this.ModelVariationComboBox.Active = 0; this.ModelVariationComboBox.Sensitive = true; this.RenderDoodadsCheckButton.Sensitive = false; } break; } case ControlPage.Animation: { break; } case ControlPage.Audio: { break; } case ControlPage.None: { break; } default: { throw new ArgumentOutOfRangeException(nameof(pageToEnable)); } } }
/** * Renders a {@link RenderedImage}, * Applying a transform from image * space into user space before Drawing. * The transformation from user space into device space is done with * the current <code>Transform</code> in the <code>Graphics2D</code>. * The specified transformation is applied to the image before the * transform attribute in the <code>Graphics2D</code> context is applied. * The rendering attributes applied include the <code>Clip</code>, * <code>Transform</code>, and <code>Composite</code> attributes. Note * that no rendering is done if the specified transform is * noninvertible. * @param img the image to be rendered. This method does * nothing if <code>img</code> is null. * @param xform the transformation from image space into user space * @see #_transform * @see #setTransform * @see #setComposite * @see #clip * @see #setClip */ public void DrawRenderableImage(RenderableImage img, AffineTransform xform) { log.log(POILogger.WARN, "Not implemented"); }
/** * @see Graphics2D#drawRenderableImage(RenderableImage, AffineTransform) */ public void drawRenderableImage(RenderableImage img, AffineTransform xform) { drawRenderedImage(img.createDefaultRendering(), xform); }
/// <summary> /// Constructs a new RenderableImageProducer from a RenderableImage /// and a RenderContext. /// </summary> /// <param name="rdblImage"> the RenderableImage to be rendered. </param> /// <param name="rc"> the RenderContext to use for producing the pixels. </param> public RenderableImageProducer(RenderableImage rdblImage, RenderContext rc) { this.RdblImage = rdblImage; this.Rc = rc; }