Ejemplo n.º 1
0
void
loop()
{
    int i;
    SDL_Event event;

    /* Check for events */
    while (SDL_PollEvent(&event)) {
        SDLTest_CommonEvent(state, &event, &done);
    }
    for (i = 0; i < state->num_windows; ++i) {
        if (state->windows[i] == NULL)
            continue;
        if (test_composite) {
            if (!DrawComposite(&drawstates[i])) done = 1;
        } else {
            if (!Draw(&drawstates[i])) done = 1;
        }
    }
#ifdef __EMSCRIPTEN__
    if (done) {
        emscripten_cancel_main_loop();
    }
#endif
}
Ejemplo n.º 2
0
MAGICK_NET_EXPORT void DrawingWand_Composite(DrawingWand *instance, const double x, const double y, const double width, const double height, const size_t compositeOperator, const Image *image, ExceptionInfo **exception)
{
  MagickWand
    *magick_wand;

  magick_wand = NewMagickWandFromImage(image);
  DrawComposite(instance, (const CompositeOperator)compositeOperator, x, y, width, height, magick_wand);
  MAGICK_NET_SET_DRAW_EXCEPTION;
}
Ejemplo n.º 3
0
static bool HHVM_METHOD(ImagickDraw, composite,
                        int64_t compose,
                        double x, double y, double width, double height,
                        const Object& compositeWand) {
  auto wand = getDrawingWandResource(Object{this_});
  Object compositeWandObj(compositeWand);
  auto magick = getMagickWandResource(compositeWandObj);
  auto status = DrawComposite(wand->getWand(), (CompositeOperator)compose,
                              x, y, width, height, magick->getWand());
  if (status == MagickFalse) {
    IMAGICKDRAW_THROW("Compositing image failed");
  }
  return true;
}
Ejemplo n.º 4
0
// Given a pattern name (which MUST have a leading #) and a pattern file,
// set up a pattern URL for later reference in the specified drawing wand
// Currently only used in Text Effect 2 
void set_tile_pattern(DrawingWand *d_wand,char *pattern_name,char *pattern_file)
{
	MagickWand *t_wand;
	long w,h;

	t_wand=NewMagickWand();  
	MagickReadImage(t_wand,pattern_file);
	// Read the tile's width and height
	w = MagickGetImageWidth(t_wand);
	h = MagickGetImageHeight(t_wand);

	DrawPushPattern(d_wand, pattern_name+1, 0, 0, w, h);
	DrawComposite(d_wand, SrcOverCompositeOp, 0, 0, 0, 0, t_wand);
	DrawPopPattern(d_wand);
	DrawSetFillPatternURL(d_wand, pattern_name);
}