/// <summary> /// Renders the pager. /// </summary> public virtual void RenderPager(Cairo.Context context, Pango.Context pangoContext, Gdk.Rectangle region) { //set global clip to avoid going outside general rendering area CairoExtensions.RoundedRectangle(context, region.X, region.Y, region.Width, region.Height, CornerRadius); context.Clip(); Pango.Layout layout = SetupPagerText(pangoContext); var boundingBox = GetPagerBounds(layout, region); RenderPagerBackground(context, boundingBox); Gdk.Rectangle arrowRect = new Gdk.Rectangle(boundingBox.X + pagerArrowPadding, boundingBox.Y + (boundingBox.Height - Styles.PopoverWindow.PagerTriangleSize) / 2, Styles.PopoverWindow.PagerTriangleSize, Styles.PopoverWindow.PagerTriangleSize); RenderPagerArrow(context, arrowRect, PagerVertical ? ArrowType.Up : ArrowType.Left); arrowRect.X = boundingBox.X + boundingBox.Width - (pagerArrowPadding + Styles.PopoverWindow.PagerTriangleSize); RenderPagerArrow(context, arrowRect, PagerVertical ? ArrowType.Down : ArrowType.Right); RenderPagerText(context, layout, boundingBox); }