MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / x11_CreateGC

Function x11_CreateGC

source/x11/x11common.cpp:1788–1813  ·  view source on GitHub ↗

GC XCreateGC(Display* display, Drawable d, unsigned long valuemask, XGCValues* values) {

Source from the content-addressed store, hash-verified

1786
1787// GC XCreateGC(Display* display, Drawable d, unsigned long valuemask, XGCValues* values) {
1788static void x11_CreateGC(CPU* cpu) {
1789 XServer* server = XServer::getServer();
1790 // Display* display = X11::getDisplay(thread, ARG1);
1791 XDrawablePtr drawable = server->getDrawable(ARG2);
1792 U32 valuemask = ARG3;
1793 if (valuemask) {
1794 kpanic("x11_CreateGC valuemask not implemented"); // winex11 doesn't use this
1795 }
1796 if (!drawable) {
1797 EAX = BadDrawable;
1798 return;
1799 }
1800 XGCPtr gc = server->createGC(drawable);
1801 if (server->traceGC) {
1802 BString log;
1803 DisplayDataPtr data = server->getDisplayDataByAddressOfDisplay(cpu->memory, ARG1);
1804
1805 log.append(data->displayId, 16);
1806 log += " CreateGC id=";
1807 log.append(gc->id, 16);
1808 log += " drawable=";
1809 log.append(ARG2, 16);
1810 klog(log.c_str());
1811 }
1812 EAX = gc->id;
1813}
1814
1815static void x11_SetDashes(CPU* cpu) {
1816 kpanic("x11_SetDashes");

Callers

nothing calls this directly

Calls 7

kpanicFunction · 0.85
klogFunction · 0.85
getDrawableMethod · 0.80
createGCMethod · 0.80
appendMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected