Exemple #1
0
        public override void paint(int cx, int cy, global::alphatab.platform.ICanvas canvas)
        {
            unchecked
            {
                if (((this._endNote == default(global::alphatab.model.Note)) || (this._startNote.beat.index != this._endNote.beat.index)))
                {
                    return;
                }

                global::alphatab.rendering.ScoreBarRenderer          r      = ((global::alphatab.rendering.ScoreBarRenderer)(this.renderer));
                global::alphatab.rendering.glyphs.BeatContainerGlyph parent = ((global::alphatab.rendering.glyphs.BeatContainerGlyph)(this._parent));
                int startX = (cx + r.getNoteX(this._startNote, default(global::haxe.lang.Null <bool>)));
                int endX   = default(int);
                if ((this._endNote == default(global::alphatab.model.Note)))
                {
                    endX = (((cx + parent.x) + parent.postNotes.x) + parent.postNotes.width);
                }
                else
                {
                    endX = (cx + r.getNoteX(this._endNote, new global::haxe.lang.Null <bool>(false, true)));
                }

                double startY = ((cy + r.getNoteY(this._startNote)) + 4.5);
                double endY   = default(double);
                if ((this._endNote == default(global::alphatab.model.Note)))
                {
                    endY = startY;
                }
                else
                {
                    endY = ((cy + r.getNoteY(this._endNote)) + 4.5);
                }

                global::alphatab.rendering.glyphs.TieGlyph.paintTie(canvas, this.renderer.stave.staveGroup.layout.renderer.settings.scale, ((double)(startX)), startY, ((double)(endX)), endY, new global::haxe.lang.Null <bool>((r.getBeatDirection(this._startNote.beat) == global::alphatab.rendering.utils.BeamDirection.Down), true));
                canvas.setColor(this.renderer.stave.staveGroup.layout.renderer.renderingResources.mainGlyphColor);
                canvas.fill();
            }
        }
        public override void paint(int cx, int cy, global::alphatab.platform.ICanvas canvas)
        {
            unchecked
            {
                global::alphatab.rendering.ScoreBarRenderer r = ((global::alphatab.rendering.ScoreBarRenderer)(this.renderer));
                int sizeX   = ((int)((12 * this.renderer.stave.staveGroup.layout.renderer.settings.scale)));
                int offsetX = ((int)(this.renderer.stave.staveGroup.layout.renderer.settings.scale));
                int startX  = default(int);
                int startY  = default(int);
                int endX    = default(int);
                int endY    = default(int);
                {
                    global::alphatab.model.SlideType _g = this._type;
                    switch (global::haxe.root.Type.enumIndex(_g))
                    {
                    case 1:
                    case 2:
                    {
                        startX = ((cx + r.getNoteX(this._startNote, new global::haxe.lang.Null <bool>(true, true))) + offsetX);
                        startY = ((cy + r.getNoteY(this._startNote)) + 4);
                        if ((this._startNote.slideTarget != default(global::alphatab.model.Note)))
                        {
                            endX = ((cx + r.getNoteX(this._startNote.slideTarget, new global::haxe.lang.Null <bool>(false, true))) - offsetX);
                            endY = ((cy + r.getNoteY(this._startNote.slideTarget)) + 4);
                        }
                        else
                        {
                            endX = (((cx + this._parent.x) + this._parent.postNotes.x) + this._parent.postNotes.width);
                            endY = startY;
                        }

                        break;
                    }


                    case 3:
                    {
                        endX   = ((cx + r.getNoteX(this._startNote, new global::haxe.lang.Null <bool>(false, true))) - offsetX);
                        endY   = ((cy + r.getNoteY(this._startNote)) + 4);
                        startX = (endX - sizeX);
                        startY = ((cy + r.getNoteY(this._startNote)) + 9);
                        break;
                    }


                    case 4:
                    {
                        endX   = ((cx + r.getNoteX(this._startNote, new global::haxe.lang.Null <bool>(false, true))) - offsetX);
                        endY   = ((cy + r.getNoteY(this._startNote)) + 4);
                        startX = (endX - sizeX);
                        startY = (cy + r.getNoteY(this._startNote));
                        break;
                    }


                    case 5:
                    {
                        startX = ((cx + r.getNoteX(this._startNote, new global::haxe.lang.Null <bool>(true, true))) + offsetX);
                        startY = ((cy + r.getNoteY(this._startNote)) + 4);
                        endX   = (startX + sizeX);
                        endY   = (cy + r.getNoteY(this._startNote));
                        break;
                    }


                    case 6:
                    {
                        startX = ((cx + r.getNoteX(this._startNote, new global::haxe.lang.Null <bool>(true, true))) + offsetX);
                        startY = ((cy + r.getNoteY(this._startNote)) + 4);
                        endX   = (startX + sizeX);
                        endY   = ((cy + r.getNoteY(this._startNote)) + 9);
                        break;
                    }


                    default:
                    {
                        return;
                    }
                    }
                }

                canvas.setColor(this.renderer.stave.staveGroup.layout.renderer.renderingResources.mainGlyphColor);
                canvas.beginPath();
                canvas.moveTo(((double)(startX)), ((double)(startY)));
                canvas.lineTo(((double)(endX)), ((double)(endY)));
                canvas.stroke();
            }
        }