Logo Search packages:      
Sourcecode: cairo-5c version File versions  Download package

event.c

/* $Id$
 *
 * Copyright © 2004 Keith Packard
 *
 * This library is free software; you can redistribute it and/or
 * modify it either under the terms of the GNU Lesser General Public
 * License version 2.1 as published by the Free Software Foundation
 * (the "LGPL") or, at your option, under the terms of the Mozilla
 * Public License Version 1.1 (the "MPL"). If you do not alter this
 * notice, a recipient may use your version of this file under either
 * the MPL or the LGPL.
 *
 * You should have received a copy of the LGPL along with this library
 * in the file COPYING-LGPL-2.1; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 * You should have received a copy of the MPL along with this library
 * in the file COPYING-MPL-1.1
 *
 * The contents of this file are subject to the Mozilla Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
 * OF ANY KIND, either express or implied. See the LGPL or the MPL for
 * the specific language governing rights and limitations.
 *
 * The Original Code is the cairo graphics library.
 *
 * The Initial Developer of the Original Code is Keith Packard
 *
 * Contributor(s):
 *      Keith Packard <keithp@keithp.com>
 */

#include "cairo-5c.h"
#include <errno.h>

Value
do_Cairo_Surface_open_event (Value sv)
{
    ENTER ();
    cairo_5c_surface_t  *c5s = cairo_5c_surface_get (sv);
    Value         read = Void;
    int                 err;

    if (aborting)
      RETURN(Void);
    
    if (c5s->recv_events == Void)
    {
      switch (c5s->kind) {
      case CAIRO_5C_WINDOW:
          read = cairo_5c_gui_open_event (c5s);
          break;
      case CAIRO_5C_IMAGE:
      case CAIRO_5C_PDF:
      case CAIRO_5C_SVG:
      case CAIRO_5C_PS:
      case CAIRO_5C_SCRATCH:
          read = FileFopen ("/dev/null", "r", &err);
          if (!read)
          {
            RaiseStandardException (exception_open_error, 3,
                              FileGetErrorMessage (err),
                              FileGetError (err),
                              NewStrString ("/dev/null"));
            RETURN (Void);
          }
          break;
      }
      c5s->recv_events = read;
    }
    RETURN (c5s->recv_events);
}

Generated by  Doxygen 1.6.0   Back to index