Пример #1
0
    PARSER_ARG_STATE_EXPECT_FACTOR,
    PARSER_ARG_STATE_MAYBE_SRC_ALPHA_SATURATE,
    PARSER_ARG_STATE_MAYBE_MINUS,
    PARSER_ARG_STATE_EXPECT_CLOSE_PAREN,
    PARSER_ARG_STATE_EXPECT_END
} parser_arg_state_t;

#define DEFINE_COLOR_SOURCE(NAME, NAME_LEN)                                    \
    { /*.type = */                                                             \
        CG_BLEND_STRING_COLOR_SOURCE_##NAME,                                   \
        /*.name = */ #NAME,                                                \
        /*.name_len = */ NAME_LEN                                          \
    }

static cg_blend_string_color_source_info_t blending_color_sources[] = {
    DEFINE_COLOR_SOURCE(SRC_COLOR, 9), DEFINE_COLOR_SOURCE(DST_COLOR, 9),
    DEFINE_COLOR_SOURCE(CONSTANT, 8)
};

#undef DEFINE_COLOR_SOURCE

#define DEFINE_FUNCTION(NAME, NAME_LEN, ARGC)                                  \
    { /*.type = */                                                             \
        CG_BLEND_STRING_FUNCTION_##NAME,                                       \
        /*.name = */ #NAME,                                                \
        /*.name_len = */ NAME_LEN,                                         \
        /*.argc = */ ARGC                                                  \
    }

static cg_blend_string_function_info_t blend_functions[] = { DEFINE_FUNCTION(
                                                                 ADD, 3, 2) };
Пример #2
0
  PARSER_ARG_STATE_EXPECT_OPEN_PAREN,
  PARSER_ARG_STATE_EXPECT_FACTOR,
  PARSER_ARG_STATE_MAYBE_SRC_ALPHA_SATURATE,
  PARSER_ARG_STATE_MAYBE_MINUS,
  PARSER_ARG_STATE_EXPECT_CLOSE_PAREN,
  PARSER_ARG_STATE_EXPECT_END
} ParserArgState;


#define DEFINE_COLOR_SOURCE(NAME, NAME_LEN) \
  {/*.type = */COGL_BLEND_STRING_COLOR_SOURCE_ ## NAME, \
   /*.name = */#NAME, \
   /*.name_len = */NAME_LEN}

static CoglBlendStringColorSourceInfo blending_color_sources[] = {
  DEFINE_COLOR_SOURCE (SRC_COLOR, 9),
  DEFINE_COLOR_SOURCE (DST_COLOR, 9),
  DEFINE_COLOR_SOURCE (CONSTANT, 8)
};

static CoglBlendStringColorSourceInfo tex_combine_color_sources[] = {
  DEFINE_COLOR_SOURCE (TEXTURE, 7),
  /* DEFINE_COLOR_SOURCE (TEXTURE_N, *) - handled manually */
  DEFINE_COLOR_SOURCE (PRIMARY, 7),
  DEFINE_COLOR_SOURCE (CONSTANT, 8),
  DEFINE_COLOR_SOURCE (PREVIOUS, 8)
};

static CoglBlendStringColorSourceInfo tex_combine_texture_n_color_source = {
  /*.type = */COGL_BLEND_STRING_COLOR_SOURCE_TEXTURE_N,
  /*.name = */"TEXTURE_N",