cute70.jpg
CuteStudio Ltd.
madeonamac.png
Graphics
Glass
Wraith

CuteStudio's GLASS

A lightweight windows driver and manager.
glass_t.png


If you are going to have real-time windows on your mobile product, you need to be looking closely at our GLASS window manager. All commercial licensing options available.

Portable

As with all CuteStudio software GLASS is fully capable of running on little and big endian processors and is tested on PPC (Power-PC G4), Intel and AMD chips.
It is written exlusively in C.

Compact

The CuteStudio window system is a complete self contained window driver and manager, the object code size of Glass (ppc) is only 28k, or 17k for intel. The compact design belies the power and accuracy of the design, any number of windows can be shown and on any resolution display.

Fast

The GLASS window layer rests upon the Cutestudio GAIL graphics software, but is of course it quite tailorable. There are various optimisations that cause performance for single tile windows to be as high as the underlying graphics system - i.e. GLASS imposes zero overhead for single tile windows. The actual tiling methods and internal performance when overlapped is also very efficient.

Functional

GLASS coordinated the graphics system and events into a uniform and simple API for the underlying software. Simple events such as KEY, REDRAW, MOUSE are passed down to the applications operating function - programming for GLASS is a breeze.
static int graph_operate(struct win_event *event)
{
    int slow, bump = FALSE;
    double xf, yf;
    GRAPH *gp = graph_find(event->handle, FALSE);
    if (!gp) return FALSE;

    switch(event->event)
    {
        case WINE_WHEEL_UP:
            if (grt_aquastat(GRT_SHIFT)) // Doesn't work on apple
                graph_pan(gp, PAN_RIGHT, PAN_SPEED_MEDIUM);
            else
                graph_pan(gp, PAN_UP, PAN_SPEED_MEDIUM);
        break;
        case WINE_WHEEL_DOWN:
            if (grt_aquastat(GRT_SHIFT)) // Doesn't work on apple
                graph_pan(gp, PAN_LEFT, PAN_SPEED_MEDIUM);
            else
                graph_pan(gp, PAN_DOWN, PAN_SPEED_MEDIUM);
        break;
        case WINE_KEY:
            slow = grt_aquastat(GRT_CTRL);
            xf = (gp->xf_hi + gp->xf_lo) / 2;
            yf = (gp->yf_hi + gp->yf_lo) / 2;
            switch(event->key) // Zoom in and out
            {
                case GRT_PGUP: graph_zoom(gp, TRUE, TRUE, xf, yf, FALSE); break;
                case GRT_PGDN: graph_zoom(gp, TRUE, TRUE, xf, yf, TRUE); break;
                case 10: case 13: // Fit to window
                    v_graph_action(gp, "i");
                break;
                case GRT_ESC: // Close
                    v_graph_action(gp, "x");
                break;
            }
        break;
        case WINE_REDRAW: case WINE_MOVE:
            graph_draw(gp);
        break;
        case WINE_PRESSED_LEFT:
            view.graph = gp;
            debug_printf("Graph handle %d, gp %p\n", event->handle, gp);
            graph_menu_enables();
            graph_function(gp);
        break;
        case WINE_PROMOTED:
            view.graph = gp;
            debug_printf("Graph handle %d, gp %p\n", event->handle, gp);
            graph_menu_enables();
        break;
    }
    return TRUE;
}
Note that WINE stands for WINdow Event.

Intuitive window management

The window manager can be tailored but the default action is very intuitive to use.
Window management functions include:
  • Window moving
  • Resizing
  • Promotion with priority bounded limits
  • Mouse action intuition (move/promote/pass through)


GLASS - a professional compact window system


GLASS is a fully featured window system, below it is managing SeeDeClip's windows. Contact us now for more information.

seedeclip_t.png

Copyright © 2007-2009, CuteStudio Ltd.
Page generated in 0.335s, Powered by Silk V1.1-1 from Cutestudio