示例#1
0
 Curve_set( int aType, QPen aPen, QBrush aBrush ) 
 :
   mPen  (aPen)
 , mBrush(aBrush)
 {
   reset_type(aType);
 }
示例#2
0
文件: symbols.cpp 项目: arn-e/circa
void symbol_setup_type(Type* type)
{
    reset_type(type);
    set_string(&type->name, "Symbol");
    type->storageType = sym_StorageTypeInt;
    type->toString = symbol_to_string;
    type->formatSource = format_source;
    type->hashFunc = hash_func;
}
示例#3
0
 void setup_type(Type* type)
 {
     reset_type(type);
     type->name = name_from_string("int");
     type->storageType = STORAGE_TYPE_INT;
     type->reset = reset;
     type->equals = equals;
     type->hashFunc = hashFunc;
     type->toString = to_string;
     type->formatSource = format_source;
 }
示例#4
0
void string_setup_type(Type* type)
{
    reset_type(type);
    set_string(&type->name, "String");
    type->storageType = sym_StorageTypeString;
    type->initialize = string_initialize;
    type->release = string_release;
    type->copy = string_copy;
    type->equals = string_equals;
    type->hashFunc = string_hash;
    type->toString = string_to_string;
    type->formatSource = string_format_source;
}
示例#5
0
文件: menus.c 项目: puyo/dogfight
struct optionsinfo goto_stats_menu(BITMAP *scrbuffer, DATAFILE *main_data,
                                   DATAFILE *plane_data, struct optionsinfo options,
                                   struct menuinfo stats_menu)
{
// function controls the stats options menu and optionally writes options to a file

    FILE *cfgfile;
    char count;
    float increment;
    char option_str[128] = "";

    stats_menu.highlight = 0;
// reset the selection
    stats_menu.selection = -1;

    do {
        // add or minus a set amount depending on which button was pressed
        increment = 0.05;
        if (stats_menu.selectupdn == -1)
            increment *= -1;
        switch (stats_menu.selection) {
        case 1 :
            stats_menu.optionval[1] += increment;
            break; // turn
        case 2 :
            stats_menu.optionval[2] += increment;
            break; // acceleration
        };

        // add or minus a set amount depending on which button was pressed
        increment = 1;
        if (stats_menu.selectupdn == -1)
            increment *= -1;
        switch (stats_menu.selection) {
        case 0 :
            stats_menu.optionval[0] += increment;
            break; // plane
        case 3 :
            stats_menu.optionval[3] += increment;
            break; // min speed
        case 4 :
            stats_menu.optionval[4] += increment;
            break; // max speed
        case 5 :
            stats_menu.optionval[5] += increment;
            break; // num of shots
        case 6 :
            stats_menu.optionval[6] += increment;
            break; // shot life
        case 7 :
            stats_menu.optionval[7] += increment;
            break; // shot lag
        case 8 :
            stats_menu.optionval[8] += increment;
            break; // shot base speed
        case 9 :
            stats_menu.optionval[9] += increment;
            break; // laser len
        case 10:
            stats_menu = reset_type(cfgfile, stats_menu, stats_menu.optionval[0]);
            break;
        };

        // make sure options are within boundaries (boundaries will be different for
        // each option)
        // vehicle
        if (stats_menu.optionval[0] > NUM_OF_VEHICLES-1)
            stats_menu.optionval[0] = 0;
        if (stats_menu.optionval[0] < 0)
            stats_menu.optionval[0] = NUM_OF_VEHICLES-1;
        // turn
        if (stats_menu.optionval[1] > 3.10)
            stats_menu.optionval[1] = 0;
        if (stats_menu.optionval[1] < 0)
            stats_menu.optionval[1] = 3.10;
        // acceleration
        if (stats_menu.optionval[2] > stats_menu.optionval[4])
            stats_menu.optionval[2] = 0.05;
        if (stats_menu.optionval[2] < 0)
            stats_menu.optionval[2] = stats_menu.optionval[4];
        // min speed
        if (stats_menu.optionval[3] > stats_menu.optionval[4])
            stats_menu.optionval[3] = -1*stats_menu.optionval[4];
        if (stats_menu.optionval[3] < -1*stats_menu.optionval[4])
            stats_menu.optionval[3] = stats_menu.optionval[4];
        // max speed
        if (stats_menu.optionval[4] > 127)
            stats_menu.optionval[4] = 0;
        if (stats_menu.optionval[4] < 0)
            stats_menu.optionval[4] = 127;
        // num of shots
        if (stats_menu.optionval[5] > 255)
            stats_menu.optionval[5] = 1;
        if (stats_menu.optionval[5] < 1)
            stats_menu.optionval[5] = 255;
        // shot life
        if (stats_menu.optionval[6] > 255)
            stats_menu.optionval[6] = 5;
        if (stats_menu.optionval[6] < 0)
            stats_menu.optionval[6] = 255;
        // shot lag
        if (stats_menu.optionval[7] > 255)
            stats_menu.optionval[7] = 0;
        if (stats_menu.optionval[7] < 0)
            stats_menu.optionval[7] = 255;
        // shot base speed
        if (stats_menu.optionval[8] > 255)
            stats_menu.optionval[8] = 0;
        if (stats_menu.optionval[8] < 0)
            stats_menu.optionval[8] = 255;
        // laser len
        if (stats_menu.optionval[9] > 255)
            stats_menu.optionval[9] = 0;
        if (stats_menu.optionval[9] < 0)
            stats_menu.optionval[9] = 255;

        // draw the options menu
        draw_menu(scrbuffer, main_data, stats_menu, stats_menu.row, stats_menu.col);
        textout_centre_ex(scrbuffer, main_data[FONTLARGE].dat, "Player Statistics",
                          SCREEN_W/2, TITLE_ROW*8, GREY+15, -1);

        // draw the current data next to each option
        draw_sprite(scrbuffer, plane_data[((int)stats_menu.optionval[0])].dat,
                    stats_menu.col+18*8, stats_menu.row-2);
        for (count = 1; count <= 9; count++) {
            sprintf(stats_menu.optionval_str[count], "%2.2f", stats_menu.optionval[count]);
            textout_ex(scrbuffer, font, stats_menu.optionval_str[count],
                       stats_menu.col+18*8, stats_menu.row+count*16, YELLOW+15, -1);
        }

        blit(scrbuffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H);

        // reset the selection
        stats_menu.selection = -1;
        // allow the user to make another selection
        stats_menu = move_menu_cursor(stats_menu);

    } while (stats_menu.selection != stats_menu.num_of_options-1);

// copy the values back into the options structure
    options.vehicle         = stats_menu.optionval[0];
    options.turn_speed      = stats_menu.optionval[1];
    options.acceleration    = stats_menu.optionval[2];
    options.min_speed       = stats_menu.optionval[3];
    options.max_speed       = stats_menu.optionval[4];
    options.num_of_shots    = stats_menu.optionval[5];
    options.shot_life       = stats_menu.optionval[6];
    options.shot_lag        = stats_menu.optionval[7];
    options.shot_base_speed = stats_menu.optionval[8];
    options.laser_length    = stats_menu.optionval[9];

    return(options);
}
示例#6
0
 void setup_type(Type* type)
 {
     reset_type(type);
     type->staticTypeQuery = staticTypeQuery;
     type->cast = cast;
 }