Example #1
0
struct _game *game_new(const struct game_ops * const *modes,
		unsigned int num_modes, game_exit_fn_t efn, void *priv)
{
	struct _game *g;

	assert(num_modes);
	assert(modes[0] == NULL);

	g = calloc(1, sizeof(*g));
	if ( NULL == g )
		goto out;

	g->g_modes = modes;
	g->g_num_modes = num_modes;
	g->g_efn = efn;
	g->g_common = priv;

	g->g_render = renderer_new(g);
	if ( NULL == g->g_render )
		goto out_free;

	con_init();

	/* success */
	goto out;

out_free:
	free(g);
	g = NULL;
out:
	return g;
}
Example #2
0
/** allocate new renderer for a Chain */
NiftyconfRenderer *renderer_chain_new(
        NiftyconfChain * chain)
{
        if(!chain)
                NFT_LOG_NULL(NULL);

        /* dimensions of cairo surface */
        LedChain *c = chain_niftyled(chain);
        int width = (led_chain_get_max_x(c) + 1) * renderer_scale_factor();
        int height = (led_chain_get_max_y(c) + 1) * renderer_scale_factor();

        return renderer_new(LED_CHAIN_T, chain, &_render_chain, width,
                            height);
}
Example #3
0
/** allocate new renderer for a Setup */
NiftyconfRenderer *renderer_setup_new()
{
        LedSetup *s = setup_get_current();

        if(!s)
                NFT_LOG_NULL(NULL);

        /* dimensions of cairo surface */
        gint width, height;
        led_setup_get_dim(s, &width, &height);

        width *= ui_renderer_scale_factor();
        height *= ui_renderer_scale_factor();

        return renderer_new(LED_SETUP_T, s, &_render_setup, width, height);
}
/**
 * gtk_source_gutter_insert:
 * @gutter: a #GtkSourceGutter.
 * @renderer: a gutter renderer (must inherit from #GtkSourceGutterRenderer).
 * @position: the renderer position.
 *
 * Insert @renderer into the gutter. If @renderer is yet unowned then gutter
 * claims its ownership. Otherwise just increases renderer's reference count.
 * @renderer cannot be already inserted to another gutter.
 *
 * Returns: %TRUE if operation succeeded. Otherwise %FALSE.
 *
 * Since: 3.0
 *
 **/
gboolean
gtk_source_gutter_insert (GtkSourceGutter         *gutter,
                          GtkSourceGutterRenderer *renderer,
                          gint                     position)
{
	Renderer* internal_renderer;

	g_return_val_if_fail (GTK_SOURCE_IS_GUTTER (gutter), FALSE);
	g_return_val_if_fail (GTK_SOURCE_IS_GUTTER_RENDERER (renderer), FALSE);
	g_return_val_if_fail (gtk_source_gutter_renderer_get_view (renderer) == NULL, FALSE);
	g_return_val_if_fail (gtk_source_gutter_renderer_get_window_type (renderer) == GTK_TEXT_WINDOW_PRIVATE, FALSE);

	internal_renderer = renderer_new (gutter, renderer, position);
	append_renderer (gutter, internal_renderer);

	return TRUE;
}
Example #5
0
renderer *renderer_flat_new(level *lvl, color_map *map)
{
    renderer_funcs *funcs = NULL;
    chunk_cache *cache = NULL;

    funcs = calloc(1, sizeof(renderer_funcs));
    if (funcs == NULL)
        return NULL;

    cache = (chunk_cache*)cache_slab_new(RENDERER_FLAT_CACHE_SIZE);
    if (cache == NULL)
    {
        free(funcs);
        return NULL;
    }

    funcs->dimensions = renderer_flat_dimensions;
    funcs->draw_row = renderer_flat_draw_row;

    return renderer_new(lvl, map, funcs, cache);
}