public PaintStyleResult ResolvePaintStyle(PaintStyle ps, PaintStyleUse pst = PaintStyleUse.Background) { PaintStyle? psTemp = null; PaletteEntryBase pRef = null; // check for inherited data if (ps.StyleType == PaletteEntryType.Inherited) { psTemp = Atomic.FindPaintStyleByUsage(pst); } else { psTemp = ps; } if (psTemp.HasValue) { PaintStyle resolved = psTemp.Value; // resolve palette reference if needed if (resolved.StyleType == PaletteEntryType.PaletteReference) { pRef = Atomic.FindPaintStyleTarget(resolved); } return(BlockBase.PreparePaintStyleResults(ref resolved, pRef)); } else { return(new PaintStyleResult(PaintStyleResult.Result.NotFound, null)); } }