Exemplo n.º 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();
            }
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        public override void paint(int cx, int cy, global::alphatab.platform.ICanvas canvas)
        {
            unchecked
            {
                global::alphatab.rendering.ScoreBarRenderer scoreBarRenderer = ((global::alphatab.rendering.ScoreBarRenderer)(this.renderer));
                double lineSize = (9 * scoreBarRenderer.stave.staveGroup.layout.renderer.settings.scale);
                global::alphatab.rendering.RenderingResources res = this.renderer.stave.staveGroup.layout.renderer.renderingResources;
                int startY         = default(int);
                int __temp_stmt597 = default(int);
                {
                    double x = (scoreBarRenderer.getNoteY(this._beat.maxNote()) - (lineSize / 2));
                    __temp_stmt597 = ((int)(x));
                }

                startY = ((cy + this.y) + __temp_stmt597);
                double endY      = (((cy + this.y) + scoreBarRenderer.getNoteY(this._beat.minNote())) + lineSize);
                int    arrowX    = ((int)(((cx + this.x) + (((double)(this.width)) / 2))));
                double arrowSize = (8 * this.renderer.stave.staveGroup.layout.renderer.settings.scale);
                canvas.setColor(res.mainGlyphColor);
                if ((this._beat.brushType != global::alphatab.model.BrushType.None))
                {
                    if (((this._beat.brushType == global::alphatab.model.BrushType.ArpeggioUp) || (this._beat.brushType == global::alphatab.model.BrushType.ArpeggioDown)))
                    {
                        int size  = ((int)((15 * this.renderer.stave.staveGroup.layout.renderer.settings.scale)));
                        int steps = default(int);
                        {
                            double v = (global::System.Math.Abs(((double)((endY - startY)))) / size);
                            {
                                double x1 = global::System.Math.Floor(((double)(v)));
                                steps = ((int)(x1));
                            }
                        }

                        {
                            int _g = 0;
                            while ((_g < ((int)(steps))))
                            {
                                int i = _g++;
                                global::alphatab.rendering.glyphs.SvgGlyph arrow = new global::alphatab.rendering.glyphs.SvgGlyph(new global::haxe.lang.Null <int>(((int)((3 * this.renderer.stave.staveGroup.layout.renderer.settings.scale))), true), new global::haxe.lang.Null <int>(0, true), ((global::alphatab.rendering.glyphs.LazySvg)(global::alphatab.rendering.glyphs.MusicFont.WaveVertical)), ((double)(1)), ((double)(1)));
                                arrow.renderer = this.renderer;
                                arrow.doLayout();
                                arrow.paint((cx + this.x), (startY + (i * size)), canvas);
                            }
                        }
                    }

                    if ((this._beat.brushType == global::alphatab.model.BrushType.ArpeggioUp))
                    {
                        canvas.beginPath();
                        canvas.moveTo(((double)(arrowX)), endY);
                        canvas.lineTo(((double)(((int)((arrowX + (arrowSize / 2)))))), ((double)(((int)((endY - arrowSize))))));
                        canvas.lineTo(((double)(((int)((arrowX - (arrowSize / 2)))))), ((double)(((int)((endY - arrowSize))))));
                        canvas.closePath();
                        canvas.fill();
                    }
                    else
                    {
                        if ((this._beat.brushType == global::alphatab.model.BrushType.ArpeggioDown))
                        {
                            canvas.beginPath();
                            canvas.moveTo(((double)(arrowX)), ((double)(startY)));
                            canvas.lineTo(((double)(((int)((arrowX + (arrowSize / 2)))))), ((double)(((int)((startY + arrowSize))))));
                            canvas.lineTo(((double)(((int)((arrowX - (arrowSize / 2)))))), ((double)(((int)((startY + arrowSize))))));
                            canvas.closePath();
                            canvas.fill();
                        }
                    }
                }
            }
        }