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();
        }