Initial project import
This commit is contained in:
commit
23f2d29e32
11957 files changed
+1754577
No files matched your search
@@ -0,0 +1,6 @@
|
||||
Module {
|
||||
name: 'x11'
|
||||
description: 'Shared X11 type definitions for V modules'
|
||||
author: 'V language'
|
||||
version: '0.0.1'
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
// X11 type definitions - shared across all V modules
|
||||
// Import this module instead of defining X11 types yourself
|
||||
module x11
|
||||
|
||||
// Basic X11 types
|
||||
pub type Window = u64
|
||||
pub type Atom = u64
|
||||
pub type VisualID = usize
|
||||
pub type Time = u64
|
||||
pub type Colormap = u64
|
||||
|
||||
// Forward declarations
|
||||
pub struct C.Display {}
|
||||
|
||||
// X11 event types
|
||||
@[typedef]
|
||||
pub struct C.XSelectionRequestEvent {
|
||||
pub mut:
|
||||
display &C.Display = unsafe { nil }
|
||||
owner Window
|
||||
requestor Window
|
||||
selection Atom
|
||||
target Atom
|
||||
property Atom
|
||||
time int
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XSelectionEvent {
|
||||
pub mut:
|
||||
type int
|
||||
display &C.Display = unsafe { nil }
|
||||
requestor Window
|
||||
selection Atom
|
||||
target Atom
|
||||
property Atom
|
||||
time int
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XSelectionClearEvent {
|
||||
pub mut:
|
||||
window Window
|
||||
selection Atom
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XDestroyWindowEvent {
|
||||
pub mut:
|
||||
window Window
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XPropertyEvent {
|
||||
pub mut:
|
||||
state int
|
||||
atom Atom
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XClientMessageEvent {
|
||||
pub mut:
|
||||
window Window
|
||||
format int
|
||||
message_type Atom
|
||||
data C.XClientMessageData
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub union C.XClientMessageData {
|
||||
pub mut:
|
||||
b [20]u8
|
||||
s [10]i16
|
||||
l [5]i64
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XGenericEventCookie {
|
||||
pub mut:
|
||||
extension int
|
||||
evtype int
|
||||
data voidptr
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XKeyEvent {
|
||||
pub mut:
|
||||
keycode u32
|
||||
state u32
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XButtonEvent {
|
||||
pub mut:
|
||||
button u32
|
||||
state u32
|
||||
x int
|
||||
y int
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XMotionEvent {
|
||||
pub mut:
|
||||
x int
|
||||
y int
|
||||
state u32
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XCrossingEvent {
|
||||
pub mut:
|
||||
x int
|
||||
y int
|
||||
state u32
|
||||
}
|
||||
|
||||
@[typedef]
|
||||
pub struct C.XFocusChangeEvent {
|
||||
pub mut:
|
||||
mode int
|
||||
}
|
||||
|
||||
// Main XEvent union - each module should define this themselves based on their needs
|
||||
// pub union C.XEvent { ... }
|
||||
|
||||
// X11 function declarations
|
||||
pub fn C.XNextEvent(display &C.Display, event &C.XEvent) int
|
||||
pub fn C.XCheckTypedWindowEvent(display &C.Display, window Window, event_type int, event &C.XEvent) int
|
||||
pub fn C.XSendEvent(display &C.Display, window Window, propagate int, event_mask i64, event &C.XEvent) int
|
||||
pub fn C.XFilterEvent(event &C.XEvent, window Window) int
|
||||
pub fn C.XChangeProperty(display &C.Display, window Window, property Atom, type_ Atom, format int, mode int, data &u8, nitems int) int
|
||||
pub fn C.XConvertSelection(display &C.Display, selection Atom, target Atom, property Atom, requestor Window, time Time) int
|
||||
pub fn C.XSetSelectionOwner(display &C.Display, selection Atom, window Window, time Time) Window
|
||||
pub fn C.XGetSelectionOwner(display &C.Display, selection Atom) Window
|
||||
pub fn C.XDeleteProperty(display &C.Display, window Window, property Atom) int
|
||||
pub fn C.XGetWindowProperty(display &C.Display, window Window, property Atom, offset i64, length i64, delete int, req_type Atom, actual_type &Atom, actual_format &int, nitems &u64, bytes_after &u64, data &&u8) int
|
||||
Reference in new issue
Block a user