Ejemplo n.º 1
0
 public void AddImage(RenderableImage image)
 {
     if (!AdditionalImages.Contains(image))
     {
         AdditionalImages.Add(image);
     }
 }
Ejemplo n.º 2
0
 public void RemoveImage(RenderableImage image)
 {
     if (AdditionalImages.Contains(image))
     {
         AdditionalImages.Remove(image);
     }
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 5
0
        /// <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;
            };
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
 /// <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);
Ejemplo n.º 8
0
        /// <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;
                }
                }
            }
        }
Ejemplo n.º 9
0
        /// <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;
                }
            };
        }
Ejemplo n.º 10
0
 public void DrawRenderableImage(RenderableImage renderableimage, AffineTransform affinetransform)
 {
     DrawRenderedImage(renderableimage.CreateDefaultRendering(), affinetransform);
 }
Ejemplo n.º 11
0
        /// <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));
            }
            }
        }
Ejemplo n.º 12
0
		/// <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);
Ejemplo n.º 13
0
 /**
  * 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");
 }
Ejemplo n.º 14
0
 /**
  * @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;
 }