/// <summary> /// Convierte un modelo de brocha en una brocha de WPF /// </summary> internal static Brush GetBrush(PageModel page, AbstractBaseBrushModel brush) { if (brush == null) { return(null); } else if (brush is SolidBrushModel) { return(ConvertSolidBrush(page, brush as SolidBrushModel)); } else if (brush is ImageBrushModel) { return(ConvertImageBrush(page, brush as ImageBrushModel)); } else if (brush is RadialGradientBrushModel) { return(ConvertRadialBrush(page, brush as RadialGradientBrushModel)); } else if (brush is LinearGradientBrushModel) { return(ConvertLinearBrush(page, brush as LinearGradientBrushModel)); } else { return(null); } }
/// <summary> /// Carga los recursos de brocha /// </summary> private void LoadBrushResource(MLNode nodeML, ComicModel comic) { AbstractBaseBrushModel brush = Mediator.BrushesRepository.LoadBrush(nodeML); // Si realmente se ha cargado un dato de brocha, se añade a la colección if (brush != null) { comic.Resources.Add(brush.Key, brush); } }
/// <summary> /// Convierte un modelo de brocha en una brocha de WPF /// </summary> internal static Brush GetBrush(AbstractPageItemModel pageItem, AbstractBaseBrushModel brush) { if (pageItem.Page == null) { return(null); } else { return(GetBrush(pageItem.Page, brush)); } }
/// <summary> /// Convierte una definición de brocha /// </summary> private static AbstractBaseBrushModel GetBrushDefinition(PageModel page, string resourceKey) { AbstractBaseBrushModel resource = page.Comic.Resources.Search(resourceKey) as AbstractBaseBrushModel; if (resource != null && resource is AbstractBaseBrushModel) { return(resource); } else { return(null); } }
/// <summary> /// Carga la primera brocha de una serie de nodos /// </summary> internal AbstractBaseBrushModel LoadFirstBrush(MLNode nodeML) { AbstractBaseBrushModel brush = null; // Carga los datos de la brocha (sólo recoge la primera de todas las que puede haber) foreach (MLNode childML in nodeML.Nodes) { if (brush == null) { brush = LoadBrush(childML); } } // Devuelve la brocha return(brush); }