예제 #1
0
class CopyColormapAndFree(rq.Request):
    _request = rq.Struct(
        rq.Opcode(80),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('mid'),
        rq.Colormap('src_cmap'),
        )
예제 #2
0
class GetWindowAttributes(rq.ReplyRequest):
    _request = rq.Struct(
        rq.Opcode(3),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Window('window')
        )

    _reply = rq.Struct(
        rq.ReplyCode(),
        rq.Card8('backing_store'),
        rq.Card16('sequence_number'),
        rq.ReplyLength(),
        rq.Card32('visual'),
        rq.Card16('win_class'),
        rq.Card8('bit_gravity'),
        rq.Card8('win_gravity'),
        rq.Card32('backing_bit_planes'),
        rq.Card32('backing_pixel'),
        rq.Card8('save_under'),
        rq.Card8('map_is_installed'),
        rq.Card8('map_state'),
        rq.Card8('override_redirect'),
        rq.Colormap('colormap', (X.NONE, )),
        rq.Card32('all_event_masks'),
        rq.Card32('your_event_mask'),
        rq.Card16('do_not_propagate_mask'),
        rq.Pad(2),
        )
예제 #3
0
class AllocNamedColor(rq.ReplyRequest):
    _request = rq.Struct(
        rq.Opcode(85),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.LengthOf('name', 2),
        rq.Pad(2),
        rq.String8('name'),
        )

    _reply = rq.Struct(
        rq.ReplyCode(),
        rq.Pad(1),
        rq.Card16('sequence_number'),
        rq.ReplyLength(),
        rq.Card32('pixel'),
        rq.Card16('exact_red'),
        rq.Card16('exact_green'),
        rq.Card16('exact_blue'),
        rq.Card16('screen_red'),
        rq.Card16('screen_green'),
        rq.Card16('screen_blue'),
        rq.Pad(8),
        )
예제 #4
0
class UninstallColormap(rq.Request):
    _request = rq.Struct(
        rq.Opcode(82),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('cmap')
        )
예제 #5
0
class FreeColormap(rq.Request):
    _request = rq.Struct(
        rq.Opcode(79),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('cmap')
        )
예제 #6
0
class AllocColorPlanes(rq.ReplyRequest):
    _request = rq.Struct(
        rq.Opcode(87),
        rq.Bool('contiguous'),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.Card16('colors'),
        rq.Card16('red'),
        rq.Card16('green'),
        rq.Card16('blue'),
        )

    _reply = rq.Struct(
        rq.ReplyCode(),
        rq.Pad(1),
        rq.Card16('sequence_number'),
        rq.ReplyLength(),
        rq.LengthOf('pixels', 2),
        rq.Pad(2),
        rq.Card32('red_mask'),
        rq.Card32('green_mask'),
        rq.Card32('blue_mask'),
        rq.Pad(8),
        rq.List('pixels', rq.Card32Obj),
        )
예제 #7
0
class StoreColors(rq.Request):
    _request = rq.Struct(
        rq.Opcode(89),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.List('items', structs.ColorItem),
        )
예제 #8
0
class FreeColors(rq.Request):
    _request = rq.Struct(
        rq.Opcode(88),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.Card32('plane_mask'),
        rq.List('pixels', rq.Card32Obj),
        )
예제 #9
0
class CreateColormap(rq.Request):
    _request = rq.Struct(
        rq.Opcode(78),
        rq.Set('alloc', 1, (X.AllocNone, X.AllocAll)),
        rq.RequestLength(),
        rq.Colormap('mid'),
        rq.Window('window'),
        rq.Card32('visual'),
        )
예제 #10
0
class StoreNamedColor(rq.Request):
    _request = rq.Struct(
        rq.Opcode(90),
        rq.Card8('flags'),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.Card32('pixel'),
        rq.LengthOf('name', 2),
        rq.Pad(2),
        rq.String8('name'),
        )
예제 #11
0
class ColormapNotify(rq.Event):
    _code = X.ColormapNotify
    _fields = rq.Struct(
        rq.Card8('type'),
        rq.Pad(1),
        rq.Card16('sequence_number'),
        rq.Window('window'),
        rq.Colormap('colormap', (X.NONE, )),
        rq.Card8('new'),
        rq.Card8('state'),
        rq.Pad(18),
    )
예제 #12
0
class QueryColors(rq.ReplyRequest):
    _request = rq.Struct(
        rq.Opcode(91),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.List('pixels', rq.Card32Obj),
        )

    _reply = rq.Struct(
        rq.ReplyCode(),
        rq.Pad(1),
        rq.Card16('sequence_number'),
        rq.ReplyLength(),
        rq.LengthOf('colors', 2),
        rq.Pad(22),
        rq.List('colors', structs.RGB),
        )
예제 #13
0
def WindowValues(arg):
    return rq.ValueList( arg, 4, 0,
                         rq.Pixmap('background_pixmap'),
                         rq.Card32('background_pixel'),
                         rq.Pixmap('border_pixmap'),
                         rq.Card32('border_pixel'),
                         rq.Gravity('bit_gravity'),
                         rq.Gravity('win_gravity'),
                         rq.Set('backing_store', 1,
                                (X.NotUseful, X.WhenMapped, X.Always)),
                         rq.Card32('backing_planes'),
                         rq.Card32('backing_pixel'),
                         rq.Bool('override_redirect'),
                         rq.Bool('save_under'),
                         rq.Card32('event_mask'),
                         rq.Card32('do_not_propagate_mask'),
                         rq.Colormap('colormap'),
                         rq.Cursor('cursor'),
                         )
예제 #14
0
class AllocColorCells(rq.ReplyRequest):
    _request = rq.Struct(
        rq.Opcode(86),
        rq.Bool('contiguous'),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.Card16('colors'),
        rq.Card16('planes'),
        )

    _reply = rq.Struct(
        rq.ReplyCode(),
        rq.Pad(1),
        rq.Card16('sequence_number'),
        rq.ReplyLength(),
        rq.LengthOf('pixels', 2),
        rq.LengthOf('masks', 2),
        rq.Pad(20),
        rq.List('pixels', rq.Card32Obj),
        rq.List('masks', rq.Card32Obj),
        )
예제 #15
0
class AllocColor(rq.ReplyRequest):
    _request = rq.Struct(
        rq.Opcode(84),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.Card16('red'),
        rq.Card16('green'),
        rq.Card16('blue'),
        rq.Pad(2),
        )

    _reply = rq.Struct(
        rq.ReplyCode(),
        rq.Pad(1),
        rq.Card16('sequence_number'),
        rq.ReplyLength(),
        rq.Card16('red'),
        rq.Card16('green'),
        rq.Card16('blue'),
        rq.Pad(2),
        rq.Card32('pixel'),
        rq.Pad(12),
        )
예제 #16
0
class LookupColor(rq.ReplyRequest):
    _request = rq.Struct(
        rq.Opcode(92),
        rq.Pad(1),
        rq.RequestLength(),
        rq.Colormap('cmap'),
        rq.LengthOf('name', 2),
        rq.Pad(2),
        rq.String8('name'),
        )

    _reply = rq.Struct(
        rq.ReplyCode(),
        rq.Pad(1),
        rq.Card16('sequence_number'),
        rq.ReplyLength(),
        rq.Card16('exact_red'),
        rq.Card16('exact_green'),
        rq.Card16('exact_blue'),
        rq.Card16('screen_red'),
        rq.Card16('screen_green'),
        rq.Card16('screen_blue'),
        rq.Pad(12),
        )
예제 #17
0
                # Loop around to see if we have got the additional data
                # already

PixmapFormat = rq.Struct(rq.Card8('depth'), rq.Card8('bits_per_pixel'),
                         rq.Card8('scanline_pad'), rq.Pad(5))

VisualType = rq.Struct(rq.Card32('visual_id'), rq.Card8('visual_class'),
                       rq.Card8('bits_per_rgb_value'),
                       rq.Card16('colormap_entries'), rq.Card32('red_mask'),
                       rq.Card32('green_mask'), rq.Card32('blue_mask'),
                       rq.Pad(4))

Depth = rq.Struct(rq.Card8('depth'), rq.Pad(1), rq.LengthOf('visuals', 2),
                  rq.Pad(4), rq.List('visuals', VisualType))

Screen = rq.Struct(rq.Window('root'), rq.Colormap('default_colormap'),
                   rq.Card32('white_pixel'), rq.Card32('black_pixel'),
                   rq.Card32('current_input_mask'),
                   rq.Card16('width_in_pixels'), rq.Card16('height_in_pixels'),
                   rq.Card16('width_in_mms'), rq.Card16('height_in_mms'),
                   rq.Card16('min_installed_maps'),
                   rq.Card16('max_installed_maps'), rq.Card32('root_visual'),
                   rq.Card8('backing_store'), rq.Card8('save_unders'),
                   rq.Card8('root_depth'), rq.LengthOf('allowed_depths', 1),
                   rq.List('allowed_depths', Depth))


class ConnectionSetupRequest(rq.GetAttrData):
    _request = rq.Struct(rq.Set('byte_order', 1, (0x42, 0x6c)), rq.Pad(1),
                         rq.Card16('protocol_major'),
                         rq.Card16('protocol_minor'),