public smartMenuSection(aceMenu __menu, IHasCursor forLayout, textInputMenuRenderView __renderView) : base(__menu, forLayout.height, forLayout.width, 0, 0) { margin = forLayout.margin; padding = forLayout.padding; renderView = __renderView; }
/// <summary> /// Pakuje sadržaj po lejerima u IHasCursor target objekat koristeći njegov kursor /// </summary> /// <param name="target">Objekat čijim kursorom pakuje sadržaj</param> private void render(ITextLayoutContentProvider source, IHasCursor target) { textCursor cursor; cursor = target.cursor; cursor.switchToZone(textCursorZone.innerZone); if (source != null) { List <String> lns = source.getContent().ToList(); switch (source.blending) { case layerBlending.background: cursor.switchToZone(textCursorZone.outterZone); cursor.moveToCorner(textCursorZoneCorner.UpLeft); foreach (String ln in lns) { target.write(cursor, ln, -1, true); //target.write(ln, cursor.x, true, layer.target.width, true); } break; case layerBlending.semitransparent: lns = lns.GetRange(source.innerBoxedTopPosition, source.innerBoxedHeight); cursor.switchToZone(textCursorZone.innerBoxedZone); cursor.moveToCorner(textCursorZoneCorner.UpLeft); foreach (String ln in lns) { target.write(cursor, ln, -1, true); // target.write(cursor, ln, -1, true); //ln, 0, true, source.width, true); } break; case layerBlending.transparent: // lns = lns.GetRange(source.innerBoxedTopPosition, source.innerBoxedHeight); cursor.switchToZone(textCursorZone.innerBoxedZone); cursor.moveToCorner(textCursorZoneCorner.UpLeft); for (Int32 i = source.innerBoxedTopPosition; i < source.innerBoxedBottomPosition; i++) { String cur = source.select(cursor, target.innerWidth, false); target.write(cursor, cur); } break; case layerBlending.hidden: break; } } cursor.switchToMainZone(); }