/// <summary> /// Gets a background image for the long text. /// </summary> /// <param name="state">Palette value should be applicable to this state.</param> /// <returns>Image instance.</returns> public override Image GetContentLongTextImage(PaletteState state) { if (_apply) { Image ret = _primary.GetContentLongTextImage(_override ? _state : state); if (ret == null) { ret = _backup.GetContentLongTextImage(state); } return(ret); } else { return(_backup.GetContentLongTextImage(state)); } }
/// <summary> /// Gets an image for the long text. /// </summary> /// <param name="state">Palette value should be applicable to this state.</param> /// <returns>Image instance.</returns> public Image GetContentLongTextImage(PaletteState state) { if (LongText.Image != null) { return(LongText.Image); } else { return(_inherit.GetContentLongTextImage(state)); } }
/// <summary> /// Gets a background image for the long text. /// </summary> /// <param name="state">Palette value should be applicable to this state.</param> /// <returns>Image instance.</returns> public virtual Image GetContentLongTextImage(PaletteState state) { if (Apply) { Image ret = _primaryContent.GetContentLongTextImage(Override ? OverrideState : state) ?? _backupContent.GetContentLongTextImage(state); return(ret); } else { return(_backupContent.GetContentLongTextImage(state)); } }
/// <summary> /// Gets a background image for the long text. /// </summary> /// <param name="style">Content style.</param> /// <param name="state">Palette value should be applicable to this state.</param> /// <returns>Image instance.</returns> public override Image GetContentLongTextImage(PaletteContentStyle style, PaletteState state) { IPaletteContent inherit = GetInherit(state); if (inherit != null) { return(inherit.GetContentLongTextImage(state)); } else { return(Target.GetContentLongTextImage(style, state)); } }
/// <summary> /// Gets a background image for the long text. /// </summary> /// <param name="state">Palette value should be applicable to this state.</param> /// <returns>Image instance.</returns> public override Image GetContentLongTextImage(PaletteState state) { return(_inherit.GetContentLongTextImage(state)); }
/// <summary> /// Gets a background image for the long text. /// </summary> /// <param name="style">Content style.</param> /// <param name="state">Palette value should be applicable to this state.</param> /// <returns>Image instance.</returns> public override Image GetContentLongTextImage(PaletteContentStyle style, PaletteState state) { IPaletteContent inherit = GetInherit(state); return(inherit?.GetContentLongTextImage(state) ?? Target.GetContentLongTextImage(style, state)); }
/// <summary> /// Perform draw of content using provided memento. /// </summary> /// <param name="context">Render context.</param> /// <param name="displayRect">Display area available for drawing.</param> /// <param name="palette">Content palette details.</param> /// <param name="memento">Cached values from layout call.</param> /// <param name="orientation">Visual orientation of the content.</param> /// <param name="state">State associated with rendering.</param> /// <param name="composition">Drawing onto a composition element.</param> /// <param name="glowing">If composition should glowing be drawn.</param> /// <param name="allowFocusRect">Allow drawing of focus rectangle.</param> public override void DrawContent(RenderContext context, Rectangle displayRect, IPaletteContent palette, IDisposable memento, VisualOrientation orientation, PaletteState state, bool composition, bool glowing, bool allowFocusRect) { Debug.Assert(context != null); Debug.Assert(memento != null); Debug.Assert(memento is StandardContentMemento); // Validate parameter references if (context == null) throw new ArgumentNullException("context"); if (palette == null) throw new ArgumentNullException("palette"); Debug.Assert(context.Control != null); Debug.Assert(!context.Control.IsDisposed); // Cast the incoming memento to the correct type StandardContentMemento standard = (StandardContentMemento)memento; if (standard.DrawImage) { DrawImageHelper(context, standard.Image, standard.ImageTransparentColor, standard.ImageRect, orientation, palette.GetContentImageEffect(state), palette.GetContentImageColorMap(state), palette.GetContentImageColorTo(state)); } if (standard.DrawShortText) { using (GraphicsTextHint hint = new GraphicsTextHint(context.Graphics, standard.ShortTextHint)) { // Get the rectangle to use when dealing with gradients Rectangle gradientRect = context.GetAlignedRectangle(palette.GetContentShortTextColorAlign(state), standard.ShortTextRect); // Use standard helper routine to create appropriate color brush Color color1 = palette.GetContentShortTextColor1(state); PaletteColorStyle colorStyle = palette.GetContentShortTextColorStyle(state); using (Brush colorBrush = CreateColorBrush(gradientRect, color1, palette.GetContentShortTextColor2(state), colorStyle, palette.GetContentShortTextColorAngle(state), orientation)) { if (!AccurateText.DrawString(context.Graphics, colorBrush, standard.ShortTextRect, context.Control.RightToLeft, standard.Orientation, composition, glowing, state, standard.ShortTextMemento)) { // Failed to draw means the font is likely to be invalid, get a fresh font standard.ShortTextMemento.Font = palette.GetContentShortTextNewFont(state); // Try again using the new font AccurateText.DrawString(context.Graphics, colorBrush, standard.ShortTextRect, context.Control.RightToLeft, standard.Orientation, composition, glowing, state, standard.ShortTextMemento); } } Image shortImage = palette.GetContentShortTextImage(state); PaletteImageStyle shortImageStyle = palette.GetContentShortTextImageStyle(state); // Do we need to draw the image? if (ShouldDrawImage(shortImage)) { // Get the rectangle to use when dealing with gradients Rectangle imageRect = context.GetAlignedRectangle(palette.GetContentShortTextImageAlign(state), standard.ShortTextRect); // Use standard helper routine to create appropriate image brush using (Brush imageBrush = CreateImageBrush(imageRect, shortImage, shortImageStyle)) { if (!AccurateText.DrawString(context.Graphics, imageBrush, standard.ShortTextRect, context.Control.RightToLeft, standard.Orientation, composition, glowing, state, standard.ShortTextMemento)) { // Failed to draw means the font is likely to be invalid, get a fresh font standard.ShortTextMemento.Font = palette.GetContentShortTextNewFont(state); AccurateText.DrawString(context.Graphics, imageBrush, standard.ShortTextRect, context.Control.RightToLeft, standard.Orientation, composition, glowing, state, standard.ShortTextMemento); } } } } } if (standard.DrawLongText) { using (GraphicsTextHint hint = new GraphicsTextHint(context.Graphics, standard.LongTextHint)) { // Get the rectangle to use when dealing with gradients Rectangle gradientRect = context.GetAlignedRectangle(palette.GetContentLongTextColorAlign(state), standard.LongTextRect); // Use standard helper routine to create appropriate color brush Color color1 = palette.GetContentLongTextColor1(state); PaletteColorStyle colorStyle = palette.GetContentLongTextColorStyle(state); using (Brush colorBrush = CreateColorBrush(gradientRect, color1, palette.GetContentLongTextColor2(state), colorStyle, palette.GetContentLongTextColorAngle(state), orientation)) { if (!AccurateText.DrawString(context.Graphics, colorBrush, standard.LongTextRect, context.Control.RightToLeft, standard.Orientation, composition, glowing, state, standard.LongTextMemento)) { // Failed to draw means the font is likely to be invalid, get a fresh font standard.LongTextMemento.Font = palette.GetContentLongTextNewFont(state); AccurateText.DrawString(context.Graphics, colorBrush, standard.LongTextRect, context.Control.RightToLeft, standard.Orientation, composition, glowing, state, standard.LongTextMemento); } } Image longImage = palette.GetContentLongTextImage(state); PaletteImageStyle longImageStyle = palette.GetContentLongTextImageStyle(state); // Do we need to draw the image? if (ShouldDrawImage(longImage)) { // Get the rectangle to use when dealing with gradients Rectangle imageRect = context.GetAlignedRectangle(palette.GetContentLongTextImageAlign(state), standard.LongTextRect); // Use standard helper routine to create appropriate image brush using (Brush imageBrush = CreateImageBrush(imageRect, longImage, longImageStyle)) { if (!AccurateText.DrawString(context.Graphics, imageBrush, standard.LongTextRect, context.Control.RightToLeft, standard.Orientation, composition, glowing, state, standard.LongTextMemento)) { // Failed to draw means the font is likely to be invalid, get a fresh font standard.LongTextMemento.Font = palette.GetContentLongTextNewFont(state); AccurateText.DrawString(context.Graphics, imageBrush, standard.LongTextRect, context.Control.RightToLeft, standard.Orientation, composition, glowing, state, standard.LongTextMemento); } } } } } // Do we need to show this content has the focus? if (allowFocusRect && (palette.GetContentDrawFocus(state) == InheritBool.True)) { // Place the rectangle 1 pixel inside the content display area displayRect.Inflate(-1, -1); // Use window forms provided helper class for drawing ControlPaint.DrawFocusRectangle(context.Graphics, displayRect); } }
/// <summary> /// Gets a background image for the long text. /// </summary> /// <param name="state">Palette value should be applicable to this state.</param> /// <returns>Image instance.</returns> public override Image GetContentLongTextImage(PaletteState state) => _inherit.GetContentLongTextImage(state);