OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [start/] [insight/] [tk/] [xlib/] [xutil.c] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
/*
2
 * xutil.c --
3
 *
4
 *      This function contains generic X emulation routines.
5
 *
6
 * Copyright (c) 1995-1996 Sun Microsystems, Inc.
7
 *
8
 * See the file "license.terms" for information on usage and redistribution
9
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
10
 *
11
 * RCS: @(#) $Id: xutil.c,v 1.1.1.1 2002-01-16 10:26:04 markom Exp $
12
 */
13
 
14
#include <stdlib.h>
15
#include <tk.h>
16
 
17
#ifdef MAC_TCL
18
#       include <Xutil.h>
19
#       include <Xatom.h>
20
#else
21
#       include <X11/Xutil.h>
22
#       include <X11/Xatom.h>
23
#endif
24
 
25
/*
26
 *----------------------------------------------------------------------
27
 *
28
 * XInternAtom --
29
 *
30
 *      This procedure simulates the XInternAtom function by calling
31
 *      Tk_Uid to get a unique id for every atom.  This is only a
32
 *      partial implementation, since it doesn't work across
33
 *      applications.
34
 *
35
 * Results:
36
 *      A new Atom.
37
 *
38
 * Side effects:
39
 *      None.
40
 *
41
 *----------------------------------------------------------------------
42
 */
43
 
44
Atom
45
XInternAtom(display, atom_name, only_if_exists)
46
    Display* display;
47
    _Xconst char* atom_name;
48
    Bool only_if_exists;
49
{
50
    static Atom atom = XA_LAST_PREDEFINED;
51
 
52
    display->request++;
53
    return ++atom;
54
}
55
 
56
/*
57
 *----------------------------------------------------------------------
58
 *
59
 * XGetVisualInfo --
60
 *
61
 *      Returns information about the specified visual.
62
 *
63
 * Results:
64
 *      Returns a newly allocated XVisualInfo structure.
65
 *
66
 * Side effects:
67
 *      Allocates storage.
68
 *
69
 *----------------------------------------------------------------------
70
 */
71
 
72
XVisualInfo *
73
XGetVisualInfo(display, vinfo_mask, vinfo_template, nitems_return)
74
    Display* display;
75
    long vinfo_mask;
76
    XVisualInfo* vinfo_template;
77
    int* nitems_return;
78
{
79
    XVisualInfo *info = (XVisualInfo *)ckalloc(sizeof(XVisualInfo));
80
    info->visual = DefaultVisual(display, 0);
81
    info->visualid = info->visual->visualid;
82
    info->screen = 0;
83
    info->depth = info->visual->bits_per_rgb;
84
    info->class = info->visual->class;
85
    info->colormap_size = info->visual->map_entries;
86
    info->bits_per_rgb = info->visual->bits_per_rgb;
87
    info->red_mask = info->visual->red_mask;
88
    info->green_mask = info->visual->green_mask;
89
    info->blue_mask = info->visual->blue_mask;
90
 
91
    if (((vinfo_mask & VisualIDMask)
92
            && (vinfo_template->visualid != info->visualid))
93
            || ((vinfo_mask & VisualScreenMask)
94
                    && (vinfo_template->screen != info->screen))
95
            || ((vinfo_mask & VisualDepthMask)
96
                    && (vinfo_template->depth != info->depth))
97
            || ((vinfo_mask & VisualClassMask)
98
                    && (vinfo_template->class != info->class))
99
            || ((vinfo_mask & VisualColormapSizeMask)
100
                    && (vinfo_template->colormap_size != info->colormap_size))
101
            || ((vinfo_mask & VisualBitsPerRGBMask)
102
                    && (vinfo_template->bits_per_rgb != info->bits_per_rgb))
103
            || ((vinfo_mask & VisualRedMaskMask)
104
                    && (vinfo_template->red_mask != info->red_mask))
105
            || ((vinfo_mask & VisualGreenMaskMask)
106
                    && (vinfo_template->green_mask != info->green_mask))
107
            || ((vinfo_mask & VisualBlueMaskMask)
108
                    && (vinfo_template->blue_mask != info->blue_mask))
109
        ) {
110
        ckfree((char *) info);
111
        return NULL;
112
    }
113
 
114
    *nitems_return = 1;
115
    return info;
116
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.