예제 #1
0
        private void RenderBars(Graphics context, Score score, ScoreEditorConfig config, ScoreEditorLook look, float barStartY)
        {
            var bars            = score.Bars;
            var primaryBeatMode = look.PrimaryBeatMode;
            var gridArea        = ScoreEditorLayout.GetGridArea(config, context.Bounds);
            var barArea         = ScoreEditorLayout.GetBarArea(config, context.Bounds);
            var infoArea        = ScoreEditorLayout.GetInfoArea(config, context.Bounds);

            var unit       = look.BarLineSpaceUnit;
            var noteRadius = config.NoteRadius;

            foreach (var bar in bars)
            {
                var numberOfGrids = bar.GetNumberOfGrids();
                var visible       = ScoreEditorLayout.IsBarVisible(barArea, barStartY, numberOfGrids, unit);
                if (visible)
                {
                    if (look.BarInfoTextVisible)
                    {
                        DrawBarInfoText(context, bar, infoArea, barStartY);
                    }
                    DrawBarGrid(context, gridArea, config, barStartY, numberOfGrids, unit, noteRadius, primaryBeatMode);
                    DrawBarOutline(context, bar, barArea, barStartY, numberOfGrids, unit);
                }
                barStartY -= numberOfGrids * unit;
            }
        }
예제 #2
0
        private void RenderNotes(Graphics context, Score score, ScoreEditorConfig config, ScoreEditorLook look, float scrollOffsetY)
        {
            var gridArea        = ScoreEditorLayout.GetGridArea(config, context.Bounds);
            var radius          = config.NoteRadius;
            var specialNoteArea = ScoreEditorLayout.GetSpecialNoteArea(config, context.Bounds);

            DrawNoteConnections(context, score, gridArea, config, look, scrollOffsetY, scrollOffsetY, radius);
            DrawNotes(context, score, gridArea, config, look, specialNoteArea, scrollOffsetY, radius);
        }