Exemple #1
0
        protected override void SetupChart()
        {
            _data = DataService.GetUnitCostData();
            this.flexChart1.Header.Content    = "Relationship between Production and Cost";
            this.flexChart1.Header.Style.Font = StyleInfo.ChartHeaderFont;

            this.flexChart1.Binding    = "Cost";
            this.flexChart1.BindingX   = "Units";
            this.flexChart1.DataSource = _data;
            this.flexChart1.ChartType  = ChartType.LineSymbols;
            this.flexChart1.Series.Add(new Series()
            {
                Name = "Cost"
            });

            this.flexChart1.AxisX.Title           = "Quantity";
            this.flexChart1.AxisY.Title           = "Per Unit Cost";
            this.flexChart1.AxisY.TitleStyle.Font = this.flexChart1.AxisX.TitleStyle.Font = StyleInfo.AxisTitleFont;

            this.flexChart1.Rendering += (s, e) =>
            {
                if (_renderEngine == null)
                {
                    _renderEngine = e.Engine;
                    SetupAnnotations();
                }
            };
        }
Exemple #2
0
        public void Dispose()
        {
            if (_dc != null)
            {
                ((IDisposable)_dc).Dispose();
                _dc = null;
            }

            if (_timeline != null)
            {
                _timeline.Dispose();
                _timeline = null;
            }

            if (_renderEngine != null)
            {
                Marshal.ReleaseComObject(_renderEngine);
                _renderEngine = null;
            }

            if (_mediaControl != null)
            {
                Marshal.ReleaseComObject(_mediaControl);
                _mediaControl = null;
            }

            if (_graph != null)
            {
                Marshal.ReleaseComObject(_graph);
                _graph = null;
            }
        }
Exemple #3
0
        public MinecraftClient(ClientOptions options, int width = 960, int height = 540)
        {
            _window = new GameWindow(
                width, height,
                GraphicsMode.Default,
                "SquidCraft",
                GameWindowFlags.Default,
                DisplayDevice.Default,
                3, 3,
                GraphicsContextFlags.Debug
                );

            _assetManager = new AssetManager(options.AssetDir, options.AssetIndex);
            _audioManager = new AudioManager();
            _renderEngine = new RenderEngine(_assetManager);
            _i18NManager  = new I18NManager(_assetManager);
            _inputManager = new InputManager();

            _camera           = new Camera(Vector3.Zero, Rotation.Zero);
            _playerController = new FlyAroundController(
                _camera,
                _inputManager
                );

            _window.CursorVisible = false;
            _window.CursorGrabbed = true;
        }
Exemple #4
0
        /// <summary>
        /// Draws the element's shape using specified <b>IRenderEngine</b>
        /// object.
        /// <seealso cref="Draw"/>
        /// </summary>
        /// <param name="engine">
        /// The <see cref="IRenderEngine"/> object that provides the rendering
        /// infrastructure.
        /// </param>
        protected override void DrawShape(IRenderEngine engine)
        {
            base.DrawShape(engine);

            MeasurementUnit rowHeight = RowHeight;
            Size2D          rowSize   = new Size2D(Width, RowHeight);
            MeasurementUnit bottom    = Location.Y.AddValue(Height);
            MeasurementUnit midPoint  = Location.Y.AddValue(rowHeight);

            Rendering.DrawLine(engine,
                               new Point2D(base.Location.X, midPoint),
                               new Point2D(base.Location.X.AddValue(Width), midPoint));

            Point2D lefTop = Location;

            engine.Graphics.TextProperties.HorizontalAlignment = StringAlignment.Center;

            Rendering.DrawString(engine, schema.Name, new Rectangle2D(lefTop, rowSize));
            lefTop.Y = lefTop.Y.AddValue(rowHeight);

            foreach (ColumnSchema column in schema.Columns)
            {
                engine.Graphics.TextProperties.HorizontalAlignment = StringAlignment.Near;
                Rendering.DrawString(engine, column.Name, new Rectangle2D(lefTop, rowSize));
                lefTop.Y = lefTop.Y.AddValue(rowHeight);
                if (lefTop.Y > bottom)
                {
                    break;
                }
            }

            //ElementLine line = new ElementLine();
            //line.Size = Width;
        }
Exemple #5
0
 public void get_Renderer_Uniscribe()
 {
     using (var control = new Form())
         using (var gm = new GraphicsManager(control))
             using (var reFactory = new RenderEngineFactory())
             {
                 gm.Init(1.0f);
                 try
                 {
                     var wsManager = new WritingSystemManager();
                     CoreWritingSystemDefinition ws = wsManager.Set("en-US");
                     var chrp = new LgCharRenderProps {
                         ws = ws.Handle, szFaceName = new ushort[32]
                     };
                     MarshalEx.StringToUShort("Arial", chrp.szFaceName);
                     gm.VwGraphics.SetupGraphics(ref chrp);
                     IRenderEngine engine = reFactory.get_Renderer(ws, gm.VwGraphics);
                     Assert.IsNotNull(engine);
                     Assert.AreSame(wsManager, engine.WritingSystemFactory);
                     Assert.IsInstanceOf(typeof(UniscribeEngine), engine);
                     wsManager.Save();
                 }
                 finally
                 {
                     gm.Uninit();
                 }
             }
 }
 public DOM_Renderer()
 {
     gameRenderer = this;
     document = HtmlContext.document;
     window = HtmlContext.window;
     Game.Renderer = this;
 }
Exemple #7
0
        /// <summary>
        /// Release resources used by the class.
        /// </summary>
        /// <remarks>May fire events, so do not call from Form.Dispose().</remarks>
        public void Dispose()
        {
            GC.SuppressFinalize(this);

            this.ThreadFinished -= new EventHandler(DESCombine_ThreadFinished);

            if (m_Video != null)
            {
                m_Video.Dispose();
                m_Video = null;
            }
            if (m_Audio != null)
            {
                m_Audio.Dispose();
                m_Audio = null;
            }

            if (m_pTimeline != null)
            {
                Marshal.ReleaseComObject(m_pTimeline);
                m_pTimeline = null;
            }

            if (m_pRenderEngine != null)
            {
                Marshal.ReleaseComObject(m_pRenderEngine);
                m_pRenderEngine = null;
            }

#if DEBUG
            if (m_rot != null)
            {
                m_rot.Dispose();
                m_rot = null;
            }
#endif
            if (m_pControl != null)
            {
                m_pControl.Stop();
                m_pControl = null;
            }

            if (m_pGraph != null)
            {
                // End event thread.
                int hr = ((IMediaEventSink)this.m_pGraph).Notify(EventCode.UserAbort, IntPtr.Zero, IntPtr.Zero);
                DsError.ThrowExceptionForHR(hr);

                while (!threadCompleted)
                {
                    Thread.Sleep(2);
                }

                Marshal.ReleaseComObject(m_pGraph);
                m_pGraph = null;
            }

            // No point in calling us from the Finalizer, we're already gone
            GC.SuppressFinalize(this);
        }
Exemple #8
0
 public void Draw(IRenderEngine renderEngine)
 {
     Head.Draw(renderEngine);
     foreach (var part in tail) {
         part.Value.Draw(renderEngine);
     }
 }
        public void get_RendererFromChrp_Graphite()
        {
            using (GraphicsManager gm = new GraphicsManager(new Form()))
            {
                gm.Init(1.0f);
                try
                {
                    var wsManager = new PalasoWritingSystemManager();
                    // by default Graphite is disabled
                    IWritingSystem ws   = wsManager.Set("en-US");
                    var            chrp = new LgCharRenderProps {
                        ws = ws.Handle, szFaceName = new ushort[32]
                    };
                    MarshalEx.StringToUShort("Charis SIL", chrp.szFaceName);
                    IRenderEngine engine = wsManager.get_RendererFromChrp(gm.VwGraphics, ref chrp);
                    Assert.IsNotNull(engine);
                    Assert.AreSame(wsManager, engine.WritingSystemFactory);
                    Assert.IsInstanceOf(typeof(UniscribeEngine), engine);

                    ws.IsGraphiteEnabled = true;
                    engine = wsManager.get_RendererFromChrp(gm.VwGraphics, ref chrp);
                    Assert.IsNotNull(engine);
                    Assert.AreSame(wsManager, engine.WritingSystemFactory);
                    Assert.IsInstanceOf(typeof(FwGrEngine), engine);
                    wsManager.Save();
                }
                finally
                {
                    gm.Uninit();
                }
            }
        }
Exemple #10
0
 /// <summary>
 /// Returns an engine to the pool so it can be reused
 /// </summary>
 /// <param name="engine">Engine to return</param>
 public virtual void ReturnEngine(IRenderEngine engine)
 {
     if (!_disposed)
     {
         _pool.ReturnEngineToPool(engine);
     }
 }
Exemple #11
0
        protected AbstractRenderer(ITimeline timeline)
        {
            if (timeline == null)
            {
                throw new ArgumentNullException(TimelineParameterName);
            }

            _timeline = timeline;

            int hr = 0;

            // create the render engine
            _renderEngine = (IRenderEngine) new RenderEngine();
            _cleanup.Add(_renderEngine);

            // tell the render engine about the timeline it should use
            hr = _renderEngine.SetTimelineObject(_timeline.DesTimeline);
            DESError.ThrowExceptionForHR(hr);

            // connect up the front end
            hr = _renderEngine.ConnectFrontEnd();
            DESError.ThrowExceptionForHR(hr);

            // Get the filtergraph - used all over the place
            hr = _renderEngine.GetFilterGraph(out _graph);
            _cleanup.Add(Graph);
            DESError.ThrowExceptionForHR(hr);

            // find the first (and usually last) audio and video group, we use these
            // when rendering to track progress
            _firstAudioGroup = _timeline.FindFirstGroupOfType(GroupType.Audio);
            _firstVideoGroup = _timeline.FindFirstGroupOfType(GroupType.Video);
        }
Exemple #12
0
        protected virtual void DisposeRenderer(bool disposing)
        {
            if (disposing)
            {
                if (_cleanup != null)
                {
                    (_cleanup).Dispose();
                    _cleanup = null;
                }

                if (_timeline != null)
                {
                    _timeline.Dispose();
                    _timeline = null;
                }
            }

            if (_renderEngine != null)
            {
                Marshal.ReleaseComObject(_renderEngine);
                _renderEngine = null;
            }

            if (_mediaControl != null)
            {
                Marshal.ReleaseComObject(_mediaControl);
                _mediaControl = null;
            }

            if (Graph != null)
            {
                Marshal.ReleaseComObject(Graph);
                _graph = null;
            }
        }
Exemple #13
0
        public RenderManager(ILayoutBuilder layoutBuilder)
        {
            RenderEngineBuilder = new RenderEngineBuilder();

            LayoutBuilder = layoutBuilder;
            m_RenderEngine = RenderEngineBuilder.CreateNewRenderEngine();
        }
Exemple #14
0
 public RenderManager(IRenderEngine engine, ILayoutBuilder layoutBuilder)
 {
     _renderEngine  = engine;
     _pixelTracker  = new PixelTracker();
     _powerState    = PowerState.On;
     _layoutBuilder = layoutBuilder;
 }
 public ModelOrientationControl(IRenderEngine renderPlugin, WindowManager wm)
 {
     InitializeComponent();
     this.wm = wm;
     this.renderPlugin = renderPlugin;
     engine = renderPlugin as RayCaster;
 }
 public GameProcessor(IPlayer playerA, IPlayer playerB, IRenderEngine renderEngine)
 {
     GameLogic              = new GameLogic();
     PlayerA                = playerA;
     PlayerB                = playerB;
     RenderEngine           = renderEngine;
     GameLogic.TurnSucceed += (sender, eventArgs) => { RenderEngine.RenderFiled(Field); };
 }
Exemple #17
0
        public double Render(object row, IRenderEngine engine, double XOffset, double YOffset, Style DefaultStyle, Dictionary <string, double> aggregatedValues)
        {
            Pen penUsed = Pen ?? DefaultStyle.Pen;

            engine.DrawLine(penUsed, XLeft + XOffset, YBottom + YOffset, XRight + XOffset, YTop + YOffset);

            return(0);
        }
Exemple #18
0
        public PluginManager(IRenderEngine engine, IPluginLayoutBuilder layoutBuilder)
        {
            _renderEngine  = engine;
            _layoutBuilder = layoutBuilder;
            _plugins       = new List <BasePlugin>();

            RegisterPlugins();
        }
Exemple #19
0
 private void FlexChart_Rendering(object sender, RenderEventArgs e)
 {
     if (_engine == null)
     {
         _engine = e.Engine;
         SetupAttotations();
     }
 }
        // ------------------------------------------------------------------------------------------------------------
        public GraphismVAS2015_0(IRenderEngine renderEngine, IComputerVisionManager cvManager)
        {
            OutputControllerFactory         = new InfoActionsGeneratorFactoryVAS0();                       // Generadores de acciones
            OutputServicesControllerFactory = new InfoStateControllerFactoryVAS0(renderEngine, cvManager); // Controlador de servicios adicionales
            GraphicControllerOutputFactory  = new GraphicControllerOutputFactoryVAS0();                    // Generadores de animaciones

            TimerServices.StartTimerServices();
        }
Exemple #21
0
        private void Config()
        {
            m_ixd       = (IXml2Dex) new Xml2Dex();
            m_pTimeline = (IAMTimeline) new AMTimeline();
            IRenderEngine ire = (IRenderEngine) new RenderEngine();

            m_ifg = (IFilterGraph) new FilterGraph();
            ire.SetFilterGraph((IGraphBuilder)m_ifg);
        }
Exemple #22
0
 public void Draw(IRenderEngine renderEngine)
 {
     for (int i = 0; i <= grid.GetUpperBound(0); i++) {
         for (int j = 0; j <= grid.GetUpperBound(1); j++) {
             int value = grid[i, j];
             DrawTile(value, i, j, renderEngine);
         }
     }
 }
Exemple #23
0
 private void FlexChart1_Rendered(object sender, RenderEventArgs e)
 {
     if (_engine == null)
     {
         _engine = e.Engine;
         SetupAnnotations();
         flexChart1.Invalidate();
     }
 }
Exemple #24
0
        void DrawAlarmZone(FlexChart chart, IRenderEngine engine, double xmin, double ymin, double xmax, double ymax, Color fill)
        {
            var pt1 = chart.DataToPoint(new PointF((float)xmin, (float)ymin));
            var pt2 = chart.DataToPoint(new PointF((float)xmax, (float)ymax));

            engine.SetFill(new SolidBrush(fill));
            engine.SetStroke(new SolidBrush(Color.Transparent));
            engine.DrawRect(Math.Min(pt1.X, pt2.X), Math.Min(pt1.Y, pt2.Y), Math.Abs(pt2.X - pt1.X), Math.Abs(pt2.Y - pt1.Y));
        }
Exemple #25
0
        public double Render(object row, IRenderEngine engine, double XOffset, double YOffset, Style DefaultStyle, Dictionary <string, double> aggregatedValues)
        {
            Pen   penUsed   = Pen ?? DefaultStyle.Pen;
            Brush brushUsed = Brush ?? DefaultStyle.BrushForRectangles;

            engine.DrawRectangle(penUsed, brushUsed, XLeft + XOffset, YTop + YOffset, XRight - XLeft, YBottom - YTop);

            return(0);
        }
Exemple #26
0
 public void Upload(GpuTexture Owner, IRenderEngine Engine)
 {
     Handle = Engine.Create_Texture(Data.Span, Owner.Size, Format);
     if (!GpuTexture.PERSIST_IMAGE_DATA)
     {
         // Clear the pixel data from memory to minimize RAM usage
         Data = null;
     }
 }
        public DebugController(Context context, KinectUser user, IRenderEngine renderEngine)
        {
            _DepthGenerator = new DepthGenerator(context);

            this.User = user;
            this.RenderEngine = renderEngine;

            _DebugLines = new Dictionary<SkeletonJoint, ILine>();
        }
Exemple #28
0
        public double Render(object row, IRenderEngine engine, double XOffset, double YOffset, Style DefaultStyle, Dictionary <string, double> aggregatedValues)
        {
            Style  usedStyle   = Style ?? DefaultStyle;
            double yBottomUsed = YBottom != -1 ? YBottom : YTop + usedStyle.Font.SizeInPoints;

            engine.DrawString(Text, usedStyle, XOffset + XLeft, YOffset + YTop, XRight - XLeft, yBottomUsed - YTop, Alignment);

            return(0);
        }
Exemple #29
0
        private void SetupRenderEngine(IRenderEngine renderEngine)
        {
            renderEngine.WritingSystemFactory = WritingSystemManager;
            var palasoWsManager = WritingSystemManager as PalasoWritingSystemManager;

            if (palasoWsManager != null)
            {
                palasoWsManager.RegisterRenderEngine(renderEngine);
            }
        }
        public void SetRenderEngine(IRenderEngine renderEngine)
        {
            RenderEngine = renderEngine;

            DeviceCreated   += RenderEngine.OnDeviceCreated;
            DeviceDestroyed += RenderEngine.OnDeviceDestroyed;
            DeviceLost      += RenderEngine.OnDeviceLost;
            DeviceReset     += RenderEngine.OnDeviceReset;
            MainLoop        += RenderEngine.OnMainLoop;
        }
Exemple #31
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Setups the font features.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public void SetupFontFeatures()
        {
            CheckDisposed();

            if (string.IsNullOrEmpty(m_fontName))
            {
                Enabled          = false;
                m_isGraphiteFont = false;
                return;
            }

            using (var hdg = new HoldDummyGraphics(m_fontName, false, false, this))
            {
                IRenderEngine renderer = GraphiteEngineClass.Create();
                renderer.InitRenderer(hdg.m_vwGraphics, m_fontFeatures);
                // check if the font is a valid Graphite font
                if (!renderer.FontIsValid)
                {
                    m_isGraphiteFont = false;
                    Enabled          = false;
                    return;
                }
                renderer.WritingSystemFactory = m_wsf;
                m_isGraphiteFont = true;
                m_featureEngine  = renderer as IRenderingFeatures;
                if (m_featureEngine == null)
                {
                    Enabled = false;
                    return;
                }
                int cfid;
                m_featureEngine.GetFeatureIDs(0, null, out cfid);
                if (cfid == 0)
                {
                    Enabled = false;
                    return;
                }
                if (cfid == 1)
                {
                    // What if it's the dummy built-in graphite feature that we ignore?
                    // Get the list of features (only 1).
                    using (ArrayPtr idsM = MarshalEx.ArrayToNative <int>(cfid))
                    {
                        m_featureEngine.GetFeatureIDs(cfid, idsM, out cfid);
                        int [] ids = MarshalEx.NativeToArray <int>(idsM, cfid);
                        if (ids[0] == kGrLangFeature)
                        {
                            Enabled = false;
                            return;
                        }
                    }
                }
                Enabled = true;
            }
        }
 public ModelGeneratorFacade(
     ITemplateOutputEngine templateOutputEngine,
     IRenderEngine renderEngine,
     IDataProviderFactory dataProviderFactory,
     ILoggerFactory loggerFactory
     ) : base(loggerFactory)
 {
     _dataProviderFactory  = dataProviderFactory;
     _templateOutputEngine = templateOutputEngine;
     _renderEngine         = renderEngine;
 }
Exemple #33
0
        public double Render(object row, IRenderEngine engine, double XOffset, double YOffset, Style DefaultStyle, Dictionary <string, double> aggregatedValues)
        {
            Image image;

            if (!string.IsNullOrEmpty(ImageFileName))
            {
                image = Image.FromFile(ImageFileName);
            }
            else if (!string.IsNullOrEmpty(ImageFileNameInRow))
            {
                object fileName = row.GetType().GetProperty(ImageFileNameInRow).GetValue(row);
                if (fileName == null)
                {
                    return(0);
                }
                image = Image.FromFile(fileName.ToString());
            }
            else if (!string.IsNullOrEmpty(ImageArrayInRow))
            {
                object imageArray = row.GetType().GetProperty(ImageArrayInRow).GetValue(row);
                if (imageArray == null)
                {
                    return(0);
                }

                image = Image.FromStream(new MemoryStream((byte[])imageArray));
            }
            else
            {
                return(0);     //no image provided
            }
            double width  = 0; // XRight-XLeft;
            double height = 0; // YTop-YBottom;

            if (XRight == 0 && YBottom == 0)
            {
                width  = image.Width;
                height = image.Height;
            }
            else if (XRight == 0)
            {
                height = YBottom - YTop;
                width  = image.Width * (height) / image.Height;
            }
            else
            {
                width  = XRight - XLeft;
                height = image.Height * (width) / image.Width;
            }
            engine.DrawImage(image, XLeft + XOffset, YTop + YOffset, width, height);

            return(0);
        }
Exemple #34
0
		public void SetRenderEngine(IRenderEngine renderEngine)
		{
			RenderEngine = renderEngine;

			DeviceCreated += new EventHandler(RenderEngine.OnDeviceCreated);
			DeviceDestroyed += new EventHandler(RenderEngine.OnDeviceDestroyed);
			DeviceLost += new EventHandler(RenderEngine.OnDeviceLost);
			DeviceReset += new EventHandler(RenderEngine.OnDeviceReset);
			MainLoop += new EventHandler(RenderEngine.OnMainLoop);

			return;
		}
Exemple #35
0
        public double Render(object row, IRenderEngine engine, double XOffset, double YOffset, Style defaultStyle)
        {
            if (!string.IsNullOrEmpty(ID) && IsVisible != null)
            {
                if (!IsVisible(ID, row))
                {
                    return(0);
                }
            }

            Style styleUsed = DefaultStyle;

            if (!string.IsNullOrEmpty(ID) && Styler != null)
            {
                styleUsed = Styler(ID, row);
            }

            double growth            = 0;
            double previousYTop      = -1;
            double growthForThisLine = 0;

            foreach (IReportObject reportObject in ReportObjects)
            {
                if (!string.IsNullOrEmpty(reportObject.ID) && IsVisible != null)
                {
                    if (!IsVisible(reportObject.ID, row))
                    {
                        return(0);
                    }
                }


                if (!string.IsNullOrEmpty(reportObject.ID) && Styler != null)
                {
                    styleUsed = Styler(reportObject.ID, row);
                }


                if (reportObject.YTop != previousYTop)
                {
                    growth           += growthForThisLine;
                    YOffset          += growthForThisLine;
                    growthForThisLine = 0;
                }

                double growthForThisObject = reportObject.Render(row, engine, XOffset, YOffset, styleUsed ?? defaultStyle, aggregatedValues);

                growthForThisLine = Math.Max(growthForThisLine, growthForThisObject);
                previousYTop      = reportObject.YTop;
            }

            return(growth + growthForThisLine);
        }
Exemple #36
0
        internal MockWsEngine MakeMockEngine(int ws, string id, IRenderEngine renderer)
        {
            var result = new MockWsEngine()
            {
                RenderEngine = renderer
            };

            m_IcuWs[id]      = ws;
            m_WsIcu[ws]      = id;
            m_wsToEngine[ws] = result;
            return(result);
        }
Exemple #37
0
        private void DrawTile(int value, int x, int y, IRenderEngine renderEngine)
        {
            Color color = Color.White;
            if (value == EMPTY_TILE)
                color = Color.White;
            else if (value == POWERUP_TILE)
                color = Color.Green;
            else if (value == WALL_TILE)
                color = Color.Blue;

            renderEngine.Draw(x, y, value.ToString(), color);
        }
Exemple #38
0
        public void SetRenderEngine(IRenderEngine renderEngine)
        {
            RenderEngine = renderEngine;

            DeviceCreated   += new EventHandler(RenderEngine.OnDeviceCreated);
            DeviceDestroyed += new EventHandler(RenderEngine.OnDeviceDestroyed);
            DeviceLost      += new EventHandler(RenderEngine.OnDeviceLost);
            DeviceReset     += new EventHandler(RenderEngine.OnDeviceReset);
            MainLoop        += new EventHandler(RenderEngine.OnMainLoop);

            return;
        }
Exemple #39
0
        public void setup( GLControl glControl, IRenderEngine engine )
        {
            this.engine = engine;
            this.glControl = glControl;

            RayCaster raycaster = engine as RayCaster;
            if ( raycaster != null )
            {
                dispatcherTimer.Tick += new EventHandler( this.animate );
                dispatcherTimer.Interval = new TimeSpan( 500000 );
                dispatcherTimer.Start();
            }
        }
Exemple #40
0
        public SnakeGame(IRenderEngine renderEngine)
        {
            this.renderEngine = renderEngine;
            collisionManager = new CollisionManager();
            inputMapper = new InputMapper();
            score = new Score(0, 12);
            gameState = 1;
            grid = new Grid(new int[,] {
                { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
            });
            snake = new Snake(4, 4, 4, 1, 0);

            grid.AddRandomPowerUp(snake.GetPositions());
        }
		/// <summary>
		/// Get the engine used to render text with the specified properties. At present only
		/// font, bold, and italic properties are significant.
		/// Font name may be '&lt;default serif&gt;' which produces a renderer suitable for the default
		/// serif font.
		/// </summary>
		/// <param name="vg"></param>
		/// <returns></returns>
		public IRenderEngine get_Renderer(IVwGraphics vg)
		{
			lock (m_syncRoot)
			{
				LgCharRenderProps chrp = vg.FontCharProperties;
				string fontName = MarshalEx.UShortToString(chrp.szFaceName);
				Tuple<string, bool, bool> key = Tuple.Create(fontName, chrp.ttvBold == (int) FwTextToggleVal.kttvForceOn,
															 chrp.ttvItalic == (int) FwTextToggleVal.kttvForceOn);
				IRenderEngine renderEngine;
				if (m_renderEngines.TryGetValue(key, out renderEngine))
					return renderEngine;
				Tuple<string, bool, bool> key2 = null;
				string realFontName;
				if (TryGetRealFontName(fontName, out realFontName))
				{
					MarshalEx.StringToUShort(realFontName, chrp.szFaceName);
					vg.SetupGraphics(ref chrp);
					key2 = Tuple.Create(realFontName, key.Item2, key.Item3);
					if (m_renderEngines.TryGetValue(key2, out renderEngine))
					{
						m_renderEngines[key] = renderEngine;
						return renderEngine;
					}
				}
				else
				{
					realFontName = fontName;
				}

				bool graphiteFont = false;
				if (m_isGraphiteEnabled)
				{
					renderEngine = GraphiteEngineClass.Create();

					string fontFeatures = null;
					if (realFontName == DefaultFontName)
						fontFeatures = DefaultFontFeatures;
					renderEngine.InitRenderer(vg, fontFeatures);
					// check if the font is a valid Graphite font
					if (renderEngine.FontIsValid)
					{
						SetupRenderEngine(renderEngine);
						graphiteFont = true;
					}
				}

				if (!graphiteFont)
				{
					if (!MiscUtils.IsUnix)
					{
						if (m_uniscribeEngine == null)
						{
							m_uniscribeEngine = UniscribeEngineClass.Create();
							m_uniscribeEngine.InitRenderer(vg, null);
							SetupRenderEngine(m_uniscribeEngine);
						}
						renderEngine = m_uniscribeEngine;
					}
					else
					{
						// default to the UniscribeEngine unless ROMAN environment variable is set.
						if (Environment.GetEnvironmentVariable("ROMAN") == null)
							renderEngine = UniscribeEngineClass.Create();
						else
							renderEngine = RomRenderEngineClass.Create();
						renderEngine.InitRenderer(vg, null);
						SetupRenderEngine(renderEngine);
					}
				}

				m_renderEngines[key] = renderEngine;
				if (key2 != null)
					m_renderEngines[key2] = renderEngine;
				return renderEngine;
			}
		}
        protected AbstractRenderer(ITimeline timeline)
        {
            if (timeline == null) throw new ArgumentNullException(TimelineParameterName);

            _timeline = timeline;

            int hr = 0;

            // create the render engine
            _renderEngine = (IRenderEngine) new RenderEngine();
            _cleanup.Add(_renderEngine);

            // tell the render engine about the timeline it should use
            hr = _renderEngine.SetTimelineObject(_timeline.DesTimeline);
            DESError.ThrowExceptionForHR(hr);

            // connect up the front end
            hr = _renderEngine.ConnectFrontEnd();
            DESError.ThrowExceptionForHR(hr);

            // Get the filtergraph - used all over the place
            hr = _renderEngine.GetFilterGraph(out _graph);
            _cleanup.Add(Graph);
            DESError.ThrowExceptionForHR(hr);

            // find the first (and usually last) audio and video group, we use these
            // when rendering to track progress
            _firstAudioGroup = _timeline.FindFirstGroupOfType(GroupType.Audio);
            _firstVideoGroup = _timeline.FindFirstGroupOfType(GroupType.Video);
        }
Exemple #43
0
 public void Draw(IRenderEngine renderEngine)
 {
     renderEngine.Draw(x, y, "Score: " + score, Color.Green);
 }
Exemple #44
0
		internal MockWsEngine MakeMockEngine(int ws, string id, IRenderEngine renderer)
		{
			var result = new MockWsEngine() {RenderEngine = renderer};
			m_IcuWs[id] = ws;
			m_WsIcu[ws] = id;
			m_wsToEngine[ws] = result;
			return result;
		}
        protected virtual void DisposeRenderer(bool disposing)
        {
            if (disposing)
            {
                if (_cleanup != null)
                {
                    (_cleanup).Dispose();
                    _cleanup = null;
                }

                if (_timeline != null)
                {
                    _timeline.Dispose();
                    _timeline = null;
                }
            }

            if (_renderEngine != null)
            {
                Marshal.ReleaseComObject(_renderEngine);
                _renderEngine = null;
            }

            if (_mediaControl != null)
            {
                Marshal.ReleaseComObject(_mediaControl);
                _mediaControl = null;
            }

            if (Graph != null)
            {
                Marshal.ReleaseComObject(Graph);
                _graph = null;
            }
        }
Exemple #46
0
		private int GetLimitOfRunWithSameRenderer(IRenderEngine renderer, int startIndex)
		{
			var startRun = m_renderRuns[startIndex];
			int ichRunLim = startRun.RenderStart + startRun.RenderLength;
			int lastRunIndex = startIndex;
			while (lastRunIndex < m_renderRuns.Count - 1)
			{
				var anotherRun = m_renderRuns[lastRunIndex + 1];
				if (anotherRun.Box != null)
					break; // got to a box, can't merge.
				if (m_layoutInfo.GetRenderer(anotherRun.Ws) != renderer)
					break; // treat separately, uses another rendering engine.
				ichRunLim = anotherRun.RenderLim;
				lastRunIndex++;
			}
			return ichRunLim;
		}
Exemple #47
0
 public LayoutTester(IRenderEngine renderEngine, Layout layout)
     : base(renderEngine, layout)
 {
 }
Exemple #48
0
 public Clock(IRenderEngine renderEngine, Layout layout)
     : base(renderEngine, layout)
 {
     Init();
 }
Exemple #49
0
 public StringRenderer(IRenderEngine renderEngine, Layout layout)
     : base(renderEngine, layout)
 {
     Init();
 }
 public AmbilightBehavior(IRenderEngine engine, Ambilight ambi)
 {
     m_RenderEngine = engine;
     this.Ambilight = ambi;
 }
Exemple #51
0
 public NoAmbilight(IRenderEngine engine, Ambilight ambi)
     : base(engine, ambi)
 {
 }
			public DisposableRenderEngineWrapper(IRenderEngine renderEngine)
			{
				RenderEngine = renderEngine;
			}
		internal void RegisterRenderEngine(IRenderEngine engine)
		{
			m_renderEngines.Add(new DisposableRenderEngineWrapper(engine));
		}
Exemple #54
0
        public void SetRenderingMethod( IRenderEngine _renderEngine )
        {
            renderEngine = _renderEngine;

            RayCaster Engine = renderEngine as RayCaster;
            if(Engine != null)
                Engine.ShaderPrograms = shaderManager.ShaderPrograms;

            //animationManager.setup( this, renderEngine );
        }
		private void ClearRenderers()
		{
			m_renderEngines.Clear();
			m_uniscribeEngine = null;
		}
Exemple #56
0
    /// <summary>
    /// Release resources used by the class.
    /// </summary>
    /// <remarks>May fire events, so do not call from Form.Dispose().</remarks>
    public void Dispose()
    {
      GC.SuppressFinalize(this);

      this.ThreadFinished -= new EventHandler(DESCombine_ThreadFinished);

      if (m_Video != null)
      {
        m_Video.Dispose();
        m_Video = null;
      }
      if (m_Audio != null)
      {
        m_Audio.Dispose();
        m_Audio = null;
      }

      if (m_pTimeline != null)
      {
        Marshal.ReleaseComObject(m_pTimeline);
        m_pTimeline = null;
      }

      if (m_pRenderEngine != null)
      {
        Marshal.ReleaseComObject(m_pRenderEngine);
        m_pRenderEngine = null;
      }

#if DEBUG
      if (m_rot != null)
      {
        m_rot.Dispose();
        m_rot = null;
      }
#endif
      if (m_pControl != null)
      {
        m_pControl.Stop();
        m_pControl = null;
      }

      if (m_pGraph != null)
      {
        // End event thread.
        int hr = ((IMediaEventSink)this.m_pGraph).Notify(EventCode.UserAbort, IntPtr.Zero, IntPtr.Zero);
        DsError.ThrowExceptionForHR(hr);

        while (!threadCompleted)
        {
          Thread.Sleep(2);
        }

        Marshal.ReleaseComObject(m_pGraph);
        m_pGraph = null;
      }

      // No point in calling us from the Finalizer, we're already gone
      GC.SuppressFinalize(this);
    }
		private void SetupRenderEngine(IRenderEngine renderEngine)
		{
			renderEngine.WritingSystemFactory = WritingSystemManager;
			var palasoWsManager = WritingSystemManager as PalasoWritingSystemManager;
			if (palasoWsManager != null)
				palasoWsManager.RegisterRenderEngine(renderEngine);
		}
Exemple #58
0
 public void Draw(IRenderEngine renderEngine)
 {
     renderEngine.Draw(X, Y, Texture, Color);
 }
 public StaticAmbilight(IRenderEngine engine, Ambilight ambi)
     : base(engine, ambi)
 {
     m_AmbilightColor = Color.White;
 }
		internal void SetRenderer(int ws, IRenderEngine renderer)
		{
			m_renderers[ws] = renderer;
		}