コード例 #1
0
ファイル: CustomChart.cs プロジェクト: AlexSneg/VIRD-1.0
 /// <summary>устанавливает тип и режим диаграммы (влияет на внешний вид) </summary>
 public void SetDiagramType(bool subDiagramMode)
 {
     _subDiagramMode = subDiagramMode;
     if (!subDiagramMode)
     {
         switch (DiagramType)
         {
             case DiagramTypeEnum.ColumnGeneral:
             case DiagramTypeEnum.ColumnDetail:
                 base.Type = ChartType.Combo;
                 break;
             case DiagramTypeEnum.Map:
                 base.Type = ChartType.Map;
                 base.ChartArea.Background = new Background(Color.FromArgb(142, 195, 236), Color.FromArgb(63, 137, 200), 90);
                 base.LegendBox.Visible = false;
                 break;
             case DiagramTypeEnum.PieGeneral:
                 base.Type = ChartType.Pies;
                 break;
             case DiagramTypeEnum.PieDetail:
                 base.Type = ChartType.Pies;
                 base.PaletteName = dotnetCHARTING.WinForms.Palette.Two;
                 break;
             case DiagramTypeEnum.Graph:
                 base.Type = ChartType.Combo;
                 base.DefaultSeries.Type = SeriesType.Line;
                 break;
             case DiagramTypeEnum.Speedometer:
                 this.YAxis.Markers.Clear();
                 base.Type = ChartType.Gauges;
                 base.LegendBox.Position = LegendBoxPosition.None;
                 base.DefaultSeries.Background.Color = Color.White;
                 base.ClipGauges = false;
                 base.Use3D = true;
                 foreach (ValueRange r in _valueRange)
                 {
                     AxisMarker am = new AxisMarker("", new Background(r.Color), r.MinValue, r.MaxValue);
                     base.YAxis.Markers.Add(am);
                 }
                 break;
             case DiagramTypeEnum.TrafficLight:
                 base.Type = ChartType.Gauges;
                 base.DefaultSeries.GaugeType = GaugeType.IndicatorLight;
                 base.LegendBox.Visible = false;
                 //base.ChartArea.ClearColors();
                 base.DefaultSeries.GaugeBorderShape = GaugeBorderShape.UseBox;
                 base.DefaultSeries.GaugeBorderBox.DefaultCorner = BoxCorner.Round;
                 base.DefaultSeries.GaugeBorderBox.Background.Color = Color.FromArgb(20, Color.Blue);
                 base.DefaultElement.SmartLabel.Color = Color.Black;
                 base.XAxis.Orientation = dotnetCHARTING.WinForms.Orientation.Top;
                 SmartPalette sp = new SmartPalette();
                 foreach (ValueRange r in _valueRange)
                 {
                     SmartColor sc = new SmartColor(r.Color, new ScaleRange(r.MinValue, r.MaxValue));
                     sp.Add("*", sc);
                 }
                 base.SmartPalette = sp;
                 break;
             default: 
                 throw new NotSupportedException("Данный тип не поддерживается");
         }
     }
     else
     {
         switch (SubDiagramType)
         {
             case SubDiagramTypeEnum.ColumnDetail:
                 base.Type = ChartType.Combo;
                 break;
             case SubDiagramTypeEnum.PieDetail:
                 base.Type = ChartType.Pies;
                 break;
             case SubDiagramTypeEnum.Graph:
                 base.Type = ChartType.Combo;
                 base.DefaultSeries.Type = SeriesType.Line;
                 break;
             default:
                 throw new NotSupportedException("Данный тип для детализации не поддерживается");
         }
     }
 }
コード例 #2
0
ファイル: Game.cs プロジェクト: xiuzhifu/Redirection
        private void Load()
        {
            // Bind OpenGL
            m_window.MakeCurrent();

            // Set default OpenGL options
            GL.Viewport(0, 0, Window.Width, Window.Height);

            GL.Enable(EnableCap.DepthTest);
            GL.DepthFunc(DepthFunction.Lequal);
            GL.DepthMask(true);

            GL.Enable(EnableCap.CullFace);
            GL.CullFace(CullFaceMode.Back);

            GL.Enable(EnableCap.Blend);
            GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);

            GL.Enable(EnableCap.AlphaTest);
            GL.AlphaFunc(AlphaFunction.Greater, 0.0f);

            GL.LineWidth(2.0f);

            // Create render stuff
            var width  = Math.Min(Window.Width, User.Settings.FullscreenWidth);
            var height = Math.Min(Window.Height, User.Settings.FullscreenHeight);
            var aamode = User.Settings.AAMode;

            m_postEffect       = new PostEffectInstance(User.Settings);
            m_postEffect.Gamma = User.Settings.Gamma;

            int scale = (aamode == AntiAliasingMode.SSAA) ? 2 : 1;

            m_worldRenderTexture   = new RenderTexture(scale * width, scale * height, true);
            m_upscaleEffect        = new UpscaleEffectInstance();
            m_backgroundEffect     = new BackgroundEffectInstance();
            m_upscaleRenderTexture = new RenderTexture(width, height, true);
            m_fullScreenQuad       = CreateFullscreenQuad();
            m_cameraAxisMarker     = new AxisMarker();

            // Create camera
            var aspectRatio = (float)Window.Width / (float)Window.Height;

            m_camera = new Camera(Matrix4.Identity, DEFAULT_FOV, aspectRatio);

            // Create screen
            m_screen = new Screen(
                Mouse, Keyboard, Language, m_window, m_audio,
                aspectRatio * SCREEN_HEIGHT, SCREEN_HEIGHT,
                width, height
                );

            m_cursor         = new Cursor();
            m_cursor.Visible = false;
            m_screen.Elements.Add(m_cursor);

            m_debugMenu         = new DebugMenu(this);
            m_debugMenu.Visible = false;
            m_screen.Elements.Add(m_debugMenu);

            // Add the rest of the asset sources:
            // Add the base assets
            var baseAssetFileStore = new FolderFileStore(Path.Combine(App.AssetPath, "base"));
            var baseAssets         = new FileAssetSource("base", baseAssetFileStore);

            Assets.AddSource(baseAssets);

            // Add the main assets
            var mainAssetFileStore = new FolderFileStore(Path.Combine(App.AssetPath, "main"));
            var mainAssets         = new FileAssetSource("main", mainAssetFileStore);

            Assets.AddSource(mainAssets);

            // Add the temp assets (used by the editor)
            var tempAssetFileStore = new LocatedFileStore(
                new FolderFileStore(Path.Combine(App.SavePath, "editor/temp")),
                "temp"
                );
            var tempAssets = new FileAssetSource("temp", tempAssetFileStore);

            Assets.AddSource(tempAssets);

            // Add autoload mod assets
            foreach (Mod mod in Mods.AllMods)
            {
                if (mod.AutoLoad)
                {
                    Assets.AddSource(mod.Assets);
                    mod.Loaded = true;
                }
            }

            // Create initial loading state
            m_currentState = CreateInitialState();
            m_pendingState = null;
            m_currentState.PreInit(null, null);
            m_currentState.Reveal();
            m_currentState.Init();
        }