Fundamentals of X Programming Graphical User Interfaces and Beyond

This book provides an overview of the X Window System focusing on characteristics that have significant impact on the development of both application programs and widgets. We pay special attention to applications that go beyond graphical user interfaces (

  • PDF / 8,250,944 Bytes
  • 374 Pages / 325.984 x 501.393 pts Page_size
  • 22 Downloads / 183 Views

DOWNLOAD

REPORT


PLENUM SERIES IN COMPUTER SCIENCE Series Editor: Rami G. Melhem University of Pittsburgh Pittsburgh, Pennsylvania

FUNDAMENTALS OF X PROGRAMMING Graphical User Interfaces and Beyond Theo Pavlidis INTRODUCTION TO PARALLEL PROCESSING Algorithms and Architectures Behrooz Parhami

Fundamentals of X Programming Graphical User Interfaces and Beyond

Theo Pavlidis State University of New York at Stony Brook Stony Brook, New York

KLUWER ACADEMIC PUBLISHERS NEW YORK, BOSTON, DORDRECHT, LONDON, MOSCOW

eBook ISBN: Print ISBN:

0-306-46968-5 0-306-46065-3

©2002 Kluwer Academic Publishers New York, Boston, Dordrecht, London, Moscow

All rights reserved

No part of this eBook may be reproduced or transmitted in any form or by any means, electronic, mechanical, recording, or otherwise, without written consent from the Publisher

Created in the United States of America

Visit Kluwer Online at: and Kluwer's eBookstore at:

http://www.kluweronline.com http://www.ebooks.kluweronline.com

Preface This book provides an overview of the X Window System focusing on characteristics that have significant impact on the development of both application programs and widgets. We pay special attention to applications that go beyond graphical user interfaces (GUIs); therefore we discuss issues affecting video games, visualization and imaging programs, and designing widgets with a complex appearance. While the book does not assume previous knowledge of X, it is intended for experienced programmers, especially those who want to write programs that go beyond simple GUIs. X is the dominant window system under Unix, and X servers are available for Microsoft Windows, thus enabling graphics over a network in the PC world. While Java offers an apparently universal graphics library (the abstract window toolkit), the reality is quite different: For high-quality graphics and image display, we must program on the target platform itself (X or one of Microsoft’s APIs) rather than rely on Java peer objects. X is a vast subject, so it is impossible to provide a complete coverage in a few hundred pages. Thus we selected topics that are fundamental to the system, so that the reader who masters them should be able to read the documentation of the numerous libraries and toolkits. Therefore we provide documentation on the most important Xlib and X toolkit functions only. Most of the existing X literature and X toolkits (such as Motif) focus on GUI applications. This excludes such applications as visualization, imaging, video games, and drawing programs. Such applications may have few windows and a relatively simple layout but the appearance of each window and the user interaction v

vi

FUNDAMENTALS OF X PROGRAMMING

can be quite complex. Usually the applications programmer is left to struggle with

the low-level Xlib library or to use an existing toolkit component (widget) for what it was not designed. If the reader must write an application that cannot be readily assembled from the widgets of an existing toolkit, then it is necessary to understand not only d