virtual void Deserialize(Stream &stream) { ClearActions(); size_t count; stream.Read(count); for(size_t i = 0; i < count; i++) { int temp; stream.Read(temp); ActionType type = (ActionType)temp; switch(type) { case ACTION_TRANSLATE: { TranslateAction *action = new TranslateAction(); stream.Read(*action); actions_.Add(action); break; } case ACTION_SCALE: { ScaleAction *action = new ScaleAction(); stream.Read(*action); actions_.Add(action); break; } case ACTION_ROTATE: { RotateAction *action = new RotateAction(); stream.Read(*action); actions_.Add(action); break; } } } }
void ReadConfigFile() /* Read a configuration file */ { FILE *fhandle; short int eof; char *line,*cursor; int section; if (config.debug > 1) { Print(stdout,"reading configuration file: ",config.config_file); } if ((fhandle = fopen(config.config_file,"r"))) { } else { Print(stderr,"exit: error: could not open configuration file: ",config.config_file); exit(1); } config.cal_count=0; ClearActions(); eof=0; section=0; while (!eof) { line=GetLine(fhandle); if (*line == (char) EOF) { eof=1; } else { cursor=Skip(line); if ((*cursor != COMMENT_SIGN) && (*cursor != '\0')) { ParseLine(cursor,§ion); } } free(line); } if (fclose(fhandle)) { Print(stderr,"exit: error: could not close configuration file: ",config.config_file); exit(1); } }
~Storyboard() { ClearActions(); }