GC XCreateGC(Display* display, Drawable d, unsigned long valuemask, XGCValues* values) {
| 1786 | |
| 1787 | // GC XCreateGC(Display* display, Drawable d, unsigned long valuemask, XGCValues* values) { |
| 1788 | static 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 | |
| 1815 | static void x11_SetDashes(CPU* cpu) { |
| 1816 | kpanic("x11_SetDashes"); |
nothing calls this directly
no test coverage detected