Esempio n. 1
0
static void subsetFontRuns(const FontRuns *fontRuns, le_int32 start, le_int32 limit, FontRuns *sub)
{
    le_int32 startRun = findRun(fontRuns, start);
    le_int32 endRun   = findRun(fontRuns, limit - 1);

    sub->reset();

    for (le_int32 run = startRun; run <= endRun; run += 1) {
        const LEFontInstance *runFont = fontRuns->getFont(run);
        le_int32 runLimit = fontRuns->getLimit(run) - start;

        if (run == endRun) {
            runLimit = limit - start;
        }

        sub->add(runFont, runLimit);
    }
}
Esempio n. 2
0
void addRun(Run r[], int numRuns)
{
   char answer, name[20];
   int index, h, m, s, totalSecs;

   printf("(a)dd run or (q)uit: ");
   scanf(" %c", &answer);
   while(answer == 'a')
   {
      printf("\nRun Name: ");
      scanf("%s", name);      
      findRun(r, numRuns, name, &index);
     
      if(index == -1)
      {
         numRuns += 1;
         strcpy(r[numRuns - 1].name, name);
         
         printf("Distance in Miles: ");
         scanf("%lf", &r[numRuns - 1].distance);
         printf("Time (hh mm ss): ");
         scanf("%2d %2d %2d", &h, &m, &s);

         totalSecs = s + m * SECS_PER_MIN + h * SECS_PER_HOUR;
         r[numRuns - 1].prSec = totalSecs;
         r[numRuns - 1].count = 1;
      }
      else
      {
         printf("Time (hh mm ss): ");
         scanf("%2d %2d %2d", &h, &m, &s);

         totalSecs = s + m * SECS_PER_MIN + h * SECS_PER_HOUR;
         if(totalSecs < r[index].prSec)
         {
            r[index].prSec = totalSecs;
         }
         r[index].count += 1;
      }
      
      displayRuns(r, numRuns);
      printf("(a)dd run or (q)uit: ");
      scanf(" %c", &answer);
   }
  writeFile(r, numRuns);
  return;   
}
Esempio n. 3
0
int addRun(Run r[], int numRuns) {
   int i, j;
   char name[20];
   Time pr;
         
   printf("Run Name: ");
   scanf("%s", name);
   
   i = findRun(r, numRuns, name);
   
   if (i == -1) {
      for(j=0; j<strlen(name); j++) r[numRuns].name[j]=name[j];
      r[numRuns].name[j] = '\0';
      
      printf("Distance in Miles: ");
      scanf("%lf", &r[numRuns].distance);
      
      printf("Time (hh mm ss): ");
      scanf("%d %d %d", &pr.hours, &pr.minutes, &pr.seconds);
      
      r[numRuns].prSec = (pr.hours*3600 + pr.minutes*60 + pr.seconds);
      r[numRuns].count = 1;
      numRuns++;
   }
   
   else {
      printf("Time (hh mm ss): ");
      scanf("%d %d %d", &pr.hours, &pr.minutes, &pr.seconds);
      
      if ((pr.hours*3600 + pr.minutes*60 + pr.seconds) < r[i].prSec)
         r[i].prSec = (pr.hours*3600 + pr.minutes*60 + pr.seconds);
      
      r[i].count++;
   }
   
   return numRuns;
}