Ejemplo n.º 1
0
        protected override void Execute()
        {
            BookmarkUIObj bookmark = new BookmarkUIObj(ParentFolder);
            System.Drawing.Point ControlPostion = Viking.UI.State.ViewerForm.PointToClient(Cursor.Position);
            Geometry.GridVector2 WorldPosition = Viking.UI.State.ViewerControl.ScreenToWorld(ControlPostion.X, ControlPostion.Y);

            bookmark.X = WorldPosition.X;
            bookmark.Y = WorldPosition.Y;
            bookmark.Z = Viking.UI.State.ViewerControl.Section.Number;
            bookmark.Downsample = Viking.UI.State.ViewerControl.Downsample;
            bookmark.Name = "X:" + bookmark.X.ToString("F0") +
                            " Y:" + bookmark.Y.ToString("F0") +
                            " Z:" + bookmark.Z.ToString();

            bookmark.Save();

            base.Execute();
        }
Ejemplo n.º 2
0
 protected override void OnShowObject(object Object)
 {
     bookmark = Object as BookmarkUIObj;
     textName.Text = bookmark.Name;
     richComment.Text = bookmark.Comment;
 }
Ejemplo n.º 3
0
        public void DrawLabel(BookmarkUIObj bookmark, double alpha, GraphicsDevice graphicsDevice)
        {
            double VisibleLabelCutoff = 7;

            Viking.UI.Controls.SectionViewerControl parent = Viking.UI.State.ViewerControl;

            Vector2 LabelSize = bookmark.GetLabelSize(parent.fontArial);
            Vector2 LabelOffset = new Vector2(LabelSize.X / 2, LabelSize.Y / 2f);
            float MagnificationFactor = (1 / (float)parent.StatusMagnification) * BookmarkUIObj.LabelScaleFactor;

            float scale = (((float)Global.DefaultBookmarkRadius / LabelSize.X) * MagnificationFactor) / 2f;

            //Don't draw the label if it cannot be seen
            if (scale * _parent.fontArial.LineSpacing < VisibleLabelCutoff)
                return;

            GridVector2 WorldPosition = bookmark.GridPosition;
            GridVector2 DrawPosition = parent.WorldToScreen(WorldPosition.X, WorldPosition.Y);

            BlendState originalBlendState = graphicsDevice.BlendState;
            RasterizerState originalRasterState = graphicsDevice.RasterizerState;

            //Print the label
            parent.spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);

            Microsoft.Xna.Framework.Color color = new Color(Color.Black.ToVector3());
            color.A = (byte)(255.0 * alpha);

            parent.spriteBatch.DrawString(parent.fontArial,
                bookmark.Name,
                new Vector2((float)DrawPosition.X, (float)DrawPosition.Y ),
                color,
                0,
                LabelOffset,
                scale,
                SpriteEffects.None,
                0);

            parent.spriteBatch.End();

            graphicsDevice.BlendState = originalBlendState;
            graphicsDevice.RasterizerState = originalRasterState;

            //PORT XNA 4
            //graphicsDevice.RenderState.CullMode = CullMode.None;
            //graphicsDevice.RenderState.AlphaTestEnable = false;
        }
Ejemplo n.º 4
0
 public BookmarkTreeNode(BookmarkUIObj folder)
     : base(folder)
 {
 }