GUI Basics and Windowing Systems
Using X Windows as a case study
CS 349: Windowing Systems 1
GUI Basics and Windowing Systems Using X Windows as a case study 1 - - PowerPoint PPT Presentation
GUI Basics and Windowing Systems Using X Windows as a case study 1 CS 349: Windowing Systems CS 349: Windowing Systems 2 Evolution of GUIs Apple Macintosh (1984) Xero Star (1981) Inspired by Xerox PARC Developed at Xerox PARC Not
CS 349: Windowing Systems 1
CS 349: Windowing Systems 2
CS 349: Windowing Systems 4
CS 349: Windowing Systems 5
CS 349: Windowing Systems 6
CS 349: Windowing Systems 7
CS 349: Windowing Systems 9
CS 349: Windowing Systems 10
CS 349: Windowing Systems 11
CS 349: Windowing Systems 12
CS 349: Windowing Systems 13
CS 349: Windowing Systems 14
CS 349: Windowing Systems 15 Owned by the application Owned by the window manager
CS 349: Windowing Systems 16
CS 349: Windowing Systems 17
CS 349: Windowing Systems 18
CS 349: Windowing Systems 19
CS 349: Windowing Systems 20
CS 349: Windowing Systems 21
CS 349: Windowing Systems 22
CS 349: Windowing Systems 23
CS 349: Windowing Systems 24
(from Scheifler & Gettys, 1986)
CS 349: Windowing Systems 25
CS 349: Windowing Systems 26
CS 349: Windowing Systems 27
CS 349: Windowing Systems 28
CS 349: Windowing Systems 29
X Client X Server Output X Server Input notify change
huh…?
translate present perceive express View Controller Model
CS 349: Windowing Systems 30
CS 349: Windowing Systems 31
Display* display; Window window; // save the window id int main( int argc, char* argv[] ) { display = XOpenDisplay(""); // open display if (!display) exit (-1); // couldn't open, so bail int screen = XDefaultScreen(display);// info about the display window = XCreateSimpleWindow(display, XDefaultRootWindow(display), // window's parent 10, 10, 400, 300, 2, // location: x, y, width, height XBlackPixel(display, screen), // foreground colour XWhitePixel(display, screen)); // background colour XMapRaised(display, window); // put window on screen XFlush(display); // flush the output buffer std::cout << "ENTER2exit"; std::cin.get(); // wait for input XCloseDisplay(display); }
CS 349: Windowing Systems 32
CS 349: Windowing Systems 33
CS 349: Windowing Systems 34
CS 349: Windowing Systems 35
CS 349: Windowing Systems 36
CS 349: Windowing Systems 37
CS 349: Windowing Systems 38
CS 349: Windowing Systems 39