Ejemplo n.º 1
0
static LRESULT CALLBACK GraphicsWndProc(HWND hwnd,UINT msg,WPARAM wParam,
                                        LPARAM lParam)
{
    PAINTSTRUCT ps;
    HDC hdc;

    switch (msg) {
    // Create the MDI client invisible window
    case WM_CREATE:
        break;
    case WM_PAINT:
        hdc = BeginPaint(hwnd,&ps);
        BitBlt(hdc,0,0,grwindow.width,grwindow.height,
               grwindow.gcBitmap,0,0,SRCCOPY);
        EndPaint(hwnd,&ps);
        break;
    // Move the child windows
    case WM_SIZE:
        // Position the MDI client window between the tool and
        // status bars
        if (wParam != SIZE_MINIMIZED) {
            SetCoordinates(hwnd);
        }

        return 0;
    // End application
    case WM_DESTROY:
        ResetForClose(hwnd);
        gr_check_open();
        break;
    }
    caml_gr_handle_event(msg, wParam, lParam);
    return DefWindowProc(hwnd, msg, wParam, lParam);
}
Ejemplo n.º 2
0
CAMLprim value caml_gr_synchronize(void)
{
        gr_check_open();
        BitBlt(grwindow.gc,0,0,grwindow.width,grwindow.height,
                grwindow.gcBitmap,0,0,SRCCOPY);
        return Val_unit ;
}
Ejemplo n.º 3
0
Archivo: events.c Proyecto: MassD/ocaml
CAMLprim value caml_gr_wait_event(value eventlist) /* ML */
{
  int mask, poll;

  gr_check_open();
  mask = 0;
  poll = 0;
  while (eventlist != Val_int(0)) {
    switch (Int_val(Field(eventlist, 0))) {
    case 0:                     /* Button_down */
      mask |= EVENT_BUTTON_DOWN; break;
    case 1:                     /* Button_up */
      mask |= EVENT_BUTTON_UP; break;
    case 2:                     /* Key_pressed */
      mask |= EVENT_KEY_PRESSED; break;
    case 3:                     /* Mouse_motion */
      mask |= EVENT_MOUSE_MOTION; break;
    case 4:                     /* Poll */
      poll = 1; break;
    }
    eventlist = Field(eventlist, 1);
  }
  if (poll)
    return caml_gr_wait_event_poll();
  else
    return caml_gr_wait_event_blocking(mask);
}
Ejemplo n.º 4
0
CAMLprim value caml_gr_resize_window (value vx, value vy)
{
  gr_check_open ();

  /* FIXME TODO implement this function... */

  return Val_unit;
}
Ejemplo n.º 5
0
CAMLprim value caml_gr_clear_graph(void)
{
        gr_check_open();
        if(grremember_mode) {
                BitBlt(grwindow.gcBitmap,0,0,grwindow.width,grwindow.height,
                        grwindow.gcBitmap,0,0,WHITENESS);
        }
        if(grdisplay_mode) {
                BitBlt(grwindow.gc,0,0,grwindow.width,grwindow.height,
                        grwindow.gc,0,0,WHITENESS);
        }
        return Val_unit;
}
Ejemplo n.º 6
0
CAMLprim value caml_gr_size_y(void)
{
        gr_check_open();
        return Val_int(grwindow.height);
}
Ejemplo n.º 7
0
CAMLprim value caml_gr_size_x(void)
{
        gr_check_open();
        return Val_int(grwindow.width);
}