⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 natwindowattributes.cc

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 CC
字号:
/* Copyright (C) 2000  Free Software Foundation   This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License.  Please consult the file "LIBGCJ_LICENSE" fordetails.  */#include <X11/Xlib.h>#include <gcj/cni.h>#include <gnu/gcj/RawData.h>#include <gnu/gcj/xlib/Display.h>#include <gnu/gcj/xlib/Window.h>#include <gnu/gcj/xlib/WindowAttributes.h>#include <gnu/gcj/xlib/Pixmap.h>#include <gnu/gcj/xlib/XException.h>#include <gnu/gcj/xlib/Screen.h>#include <gnu/gcj/xlib/Visual.h>void gnu::gcj::xlib::WindowAttributes::initFromWindow(Window* from){  display = from->getDisplay();  ::Display* dpy = (::Display*) display->display;  ::Window win = from->getXID();    XWindowAttributes* attributesIn  = new XWindowAttributes;  in = reinterpret_cast<gnu::gcj::RawData*>(attributesIn);  Status status = XGetWindowAttributes(dpy, win, attributesIn);  if ((status == BadDrawable) | (status == BadWindow))    throw new XException(display, status);}void gnu::gcj::xlib::WindowAttributes::init(WindowAttributes* copyFrom){  XSetWindowAttributes* attributes = new XSetWindowAttributes;  if (copyFrom != 0)    {      XSetWindowAttributes* from = 	(XSetWindowAttributes*) copyFrom->out;      (*attributes) = (*from);    }     out = reinterpret_cast<gnu::gcj::RawData*>(attributes);}void gnu::gcj::xlib::WindowAttributes::finalize(){  delete in; in = 0;  delete out; out = 0;}void gnu::gcj::xlib::WindowAttributes::setBackground(jlong pixel){  XSetWindowAttributes* attributes = (XSetWindowAttributes*) out;    attributes->background_pixel = pixel;  mask = mask | CWBackPixel;}void gnu::gcj::xlib::WindowAttributes::setBackground(Pixmap* pixmap){  XSetWindowAttributes* attributes = (XSetWindowAttributes*) out;  attributes->background_pixmap = pixmap->getXID();  mask = mask | CWBackPixmap;}void gnu::gcj::xlib::WindowAttributes::setEventMask(jlong eventMask){  XSetWindowAttributes* attributes = (XSetWindowAttributes*) out;  attributes->event_mask = eventMask;  mask = mask | CWEventMask;}gnu::gcj::xlib::Visual* gnu::gcj::xlib::WindowAttributes::getVisual(){  if (in == 0)    return 0;  XWindowAttributes* attributesIn = (XWindowAttributes*) in;  gnu::gcj::RawData* screenRef =    reinterpret_cast<gnu::gcj::RawData*>(attributesIn->screen);  Screen* screen = new Screen(display, screenRef);  gnu::gcj::RawData* visualRef =    reinterpret_cast<gnu::gcj::RawData*>(attributesIn->visual);  return new gnu::gcj::xlib::Visual(visualRef, screen, attributesIn->depth);}void gnu::gcj::xlib::WindowAttributes::apply(Window* window){  ::Display* dpy = (::Display*) window->getDisplay()->display;  ::Window win = window->getXID();  XSetWindowAttributes* attributes = (XSetWindowAttributes*) out;    XChangeWindowAttributes(dpy, win, mask, attributes);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -