private void GdkDraw(EventExpose evnt,int height,int width) { Time time = new Time(); layout.SetMarkup("0"); this.GdkWindow.DrawLayout(this.Style.TextGC(StateType.Normal),0,height-23,layout); Gdk.Point topL= new Gdk.Point((int)(CurrentFrame/pixelRatio-Scroll-5),height-15); Gdk.Point topR= new Gdk.Point((int)(CurrentFrame/pixelRatio-Scroll+5),height-15); Gdk.Point bottom= new Gdk.Point((int)(CurrentFrame/pixelRatio-Scroll),height); this.GdkWindow.DrawPolygon(this.Style.TextGC(StateType.Normal),true,new Gdk.Point[] {topL,topR,bottom}); for(int i=10*FrameRate; i<=frames/pixelRatio;) { // Drawing separator line evnt.Window.DrawLine(Style.DarkGC(StateType.Normal),i-(int)Scroll,height,i-(int)Scroll,height-10); time.Seconds = (int)(i/FrameRate*pixelRatio); layout.SetMarkup(time.ToSecondsString()); this.GdkWindow.DrawLayout(this.Style.TextGC(StateType.Normal),i-(int)Scroll-13,height-23,layout); //g.ShowText(time.ToSecondsString()); i=i+10*FrameRate; } for(int i=0; i<=frames/pixelRatio;) { evnt.Window.DrawLine(Style.DarkGC(StateType.Normal),i-(int)Scroll,height,i-(int)Scroll,height-5); i=i+FrameRate; } // Drawing main line evnt.Window.DrawLine(Style.DarkGC(StateType.Normal),0,height,width,height); }
private void CairoDraw(EventExpose evnt,int height,int width) { Time time = new Time(); using(Cairo.Context g = Gdk.CairoHelper.Create(evnt.Window)) { Cairo.Color color = new Cairo.Color(0, 0, 0); /* Drawing position triangle */ CairoUtils.DrawTriangle(g,CurrentFrame/pixelRatio-Scroll, height, 10, 15, color); /* Draw '0' */ CairoUtils.DrawLine(g, 0-Scroll, height, width, height, 2, color); g.MoveTo(new PointD(0-Scroll,height-20)); g.ShowText("0"); for(int i=10*FrameRate; i<=frames/pixelRatio;) { CairoUtils.DrawLine(g, i-Scroll, height,i-Scroll, height-10, 2, color); g.MoveTo(new PointD(i-Scroll-13,height-20)); time.Seconds = (int)(i/FrameRate*pixelRatio); g.ShowText(time.ToSecondsString()); i=i+10*FrameRate; } for(int i=0; i<=frames/pixelRatio;) { CairoUtils.DrawLine(g, i-Scroll, height,i-Scroll, height-5, 1, color); i=i+FrameRate; } } }