コード例 #1
0
ファイル: moveviewport.c プロジェクト: curiousbadger/denemo
/**
 * Scroll score horizontally
 *
 */
static void
h_scroll (gdouble value, DenemoProject * gui)
{
  gint dest;
  if ((dest = (gint) (value + 0.5)) != gui->movement->leftmeasurenum)
    {
      set_viewport_transition (dest - gui->movement->leftmeasurenum);
      gui->movement->leftmeasurenum = dest;
      set_rightmeasurenum (gui->movement);
      if (gui->movement->currentmeasurenum > gui->movement->rightmeasurenum)
        {
          gui->movement->currentmeasurenum = gui->movement->rightmeasurenum;

        }
      else if (gui->movement->currentmeasurenum < gui->movement->leftmeasurenum)
        {
          gui->movement->currentmeasurenum = gui->movement->leftmeasurenum;

        }
      find_leftmost_allcontexts (gui->movement);
      setcurrents (gui->movement);
      draw_score_area();
    }
  update_hscrollbar (gui);
}
コード例 #2
0
ファイル: moveviewport.c プロジェクト: curiousbadger/denemo
/**
 * Advance the leftmeasurenum until currentmeasurenum is before rightmeasurenum
 * then adjust rightmeasurenum to match.
 */
void
isoffrightside (DenemoProject * gui)
{
  if (gui->movement->currentmeasurenum <= gui->movement->rightmeasurenum)
    return;
  while (gui->movement->currentmeasurenum > gui->movement->rightmeasurenum)
    {
      gui->movement->leftmeasurenum += MAX ((gui->movement->rightmeasurenum - gui->movement->leftmeasurenum + 1) / 2, 1);
      set_rightmeasurenum (gui->movement);
    }
  find_leftmost_allcontexts (gui->movement);
  if(!Denemo.non_interactive)
    update_hscrollbar (gui);
}
コード例 #3
0
ファイル: moveviewport.c プロジェクト: denemo/denemo
/**
 * Sets the si->currentmeasurenum to the given value
 * if exists, making it the leftmost measure visible, not extending selection
 *
 */
static gboolean
goto_currentmeasurenum (gint dest, gint leftmeasurenum)
{
  DenemoProject *gui = Denemo.project;
  if ((dest > 0) && (dest <= (gint) (g_list_length (gui->movement->measurewidths))))
    {
      //gui->movement->leftmeasurenum = dest;
      gui->movement->currentmeasurenum = dest;
      if(leftmeasurenum)
        gui->movement->leftmeasurenum = leftmeasurenum;
      set_rightmeasurenum (gui->movement);
      if ((dest < gui->movement->leftmeasurenum) || (dest > gui->movement->rightmeasurenum))
        center_viewport ();
      setcurrents (gui->movement);
      set_rightmeasurenum (gui->movement);
      find_leftmost_allcontexts (gui->movement);
      if(!Denemo.non_interactive)
        update_hscrollbar (gui);
      draw_score_area();
      return TRUE;
    }
  return FALSE;
}