1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486
|
15.12. posting package to comp.sources.misc
saved in grafix/post-15.12
added scrolling with keys : PgUp/Dn arrow-up/down to file selection box
-> files.c
16.12 : cleanup event mask setting; default selection_mask for the window
class is only Expose and Configure, derived classes add masks by demand ->
less events, more transparency
-> window.c
17.12 - 19.12:
calc.c - name conflict for Solaris (div-> divi) resolved
files.c - extended for complete viewing of texts
new classes :vert_scrollbar, text_window, text_viewer
(files-demo.c) - deleted , replaced by :
file-browser.c - demo for file viewer with spawning and loading new files,
also with file_selection_box
files.c - file_selection box extended :
now has scrollbars for directory and file selector with standard
3-button interface (button 1/3 = pgup/dn, button 2 = draw/set)
also key-events : next,prior, arrow-keys
button-1-press (in selector) -> select file/directory
window.h - constructor delete_button for menu_bar parent def.
lat_win.c - added z-axes ticks
23.1:
window.c - bug with WatchCursor fixed : it didn't vanish when other main
windows were spawned. (there was only one global pointer "watch_main")
New solution : no more restore in event loop, but explicitely
to call ResetCursor(); after computation
corrections : window.h, lat_man.c, one-dim, two-dim
lattice: floating point prints (ticks, gamma) %f -> %g for better
readability
20.2.
grafix.mk : HOSTTYPE (nonportable) replaced by uname (portable)
lat_win.c : z-ticks also for small heights (ntick > 0)
27.2
Makefile : make depend introduced (File .depend) by help of Ulrich Lauther
Weird behaviour on "Close" via window manager resolved. If it was done
for a child then the whole program crashed with :
XIO: fatal IO error 32 (Broken pipe) on X server ":0.0"
after 626 requests (622 known processed) with 0 events remaining.
The connection was probably broken by a server shutdown or KillClient
explanation (see mwm.1)
f.kill
This function is used to terminate a client. If the
WM_DELETE_WINDOW protocol is set up, the client is sent
a client message event, indicating that the client win-
dow should be deleted. If the WM_SAVE_YOURSELF proto-
col is set up and the WM_DELETE_WINDOW protocol is not
set up, the client is sent a client message event,
indicating that the client needs to prepare to be ter-
minated. If the client does not have the
WM_DELETE_WINDOW or WM_SAVE_YOURSELF protocol set up,
this function causes a client's X connection to be ter-
minated (usually resulting in termination of the
client). Refer to the description of the quitTimeout
resource and the WM_PROTOCOLS property.
solution:
XSetWMProtocols WM_DELETE_WINDOW for all main_windows;
a global top_main is declared (which is always the first created main_window)
and a event_handler main_window::ClientMsg_CB defined to handle these ev
9.6.
scrollbars (even pure_scrollbars) get a member nticks, (which is 0 by default)
and determines the number of tick lines to display on x-the axis
changes in window.h, window.c
21.6.
clock_win : in window.c/h added. A class to display a simple analogue clock
also a demo clock_demo.c written.
23.6.
main_window - constructor allows argument fix_pos = 2 : map at center of the screen
30.6.
palette.c : handler for error "no more color cells" changed; now only warning
so more than 2 lattice applications can run at the same time on one
display
12.7
animator and replay included in grafix (from dymos)
replay as a demo, video files are in subdirectory video
19.7
window.c,h: bug fixed : close button of window manager used to kill the appl.
main_window class : XSetWMProtocols added, and
event handler for ClientMessage to unmap or exit.
To find the top main_window the variable top_main is used.
For this the close button invokes exit, else only unmap
(Does not work properly if an marginal window created as first mw)
26.7. lattice.* : z0 - as shift value introduced, also as managed value
4.8.
three-dim.c (and wave.c as ex.) the prototype for any interactive integration
program, simplified interface : integrator class (s.below)
animator.*, replay.c : extended with new classes :
time_lat, play_lat, play_main, player, integrator
8.8.
lattice.* : the value display window (display_cursor) is now defined as
a main window -> no more clipping. It now follows the pointer directly
-> search the nearest lattice point in 3-dim !
lat_win.c : function "make_lattice" replaced by generalization of "make_body"
now the value display works for all types of displays, since scp
is always correct !
28.8.
polling mode changed : now polling_handler is a virtual function in main_window
and polling_mode is member -> changes in window.*, clock-demo, animator.*
simplified !
1.9.
replay.c : synchronization from child to parent fixed (with signals)
Now the child process can also be ended, and a new video file can
be loaded.
28.9.
switch_button : introduced in window.h/c
2.10.
scrollbar : error fixed with move & callback mechanism, since the callback was
invoked with actual slider pos (in pixels) this lead to rounding errors
now : extra methods "move" and "move_cb" are defined. On mouse positioning
move_cb is invoked, otherwise from "change" -> move and callbck_val
tick_scrollbar & play_scrollbar included in window.c/h
20.10
new classes in window.c/h:
==========================
scrolled_window : a window with virtual size that can be moved with
scrollbars if it is larger than the actual window. Proper resizing !
twodim_input : a twodimensional "scrollbar" to get user input from mouse
derived from that :
horizontal_shifter, vertical_shifter : are needed by scrolled_window
demo for these : scrolled_demo, class_browser
26.10.
files : text_viewer fixed, tabs, scrolling
tree graphics
=============
class_browser: nearly completed, failures if graph contains unbalancable
"cycles"
eg class1
/ |
c2 |
\ |
class3
and insertion sometimes failes ( /fgrab/ )
27.10.
tree.c/tree.h separated
dir-tree.c : new simple demo for the use of tree classes, should
serve as learning model
29.10.
one-dim/two-dim : new "run" button included to match newer apps.
30.10.
gccinc : subdirectory for gcc-lib include files that are needed for
regexp parsing (class-browser),
which are not on all systems installed (Sun)
will be included in the tar file
window.c/h : irint and sincos for Suns replaced by simple standards
because older SunOS seem to don't have them
31.10.
calc.c : keyboard input of numbers and arith. operators -> new
german clean : win-demo.c, edit-demo.c, one-dim.c, two-dim.c, window.h (sigh !)
window.c (sigh !)
edit_window : cursor works now correct in all color modes (8bpp, 16bpp)
1.11.
window.c : destructors cleaned up, now also the entry in parents child list is
correctly removed -> also static windows can be defined and deleted !!
Whow !!
palette.c : TrueColor mode now supported for >= 16bpp !!
minor drawback: if the palette changes, it is not visible for
lattice windows immediately, but only when next draw occurs
3.11.
german clean : lattice.h lat_win.c lat_man.c reg_man.c (also help page)
-> it should be complete now !!
replay : help text (help button) included
class-browser : error fixed (undefined classes -> path == 0)
4.11.
popup buttons : new feature : on second press unmap the popup
(also help_button -> now a subclass of popup_button)
error in three-dim fixed : difficult to find : in animator.c was a erroneous
allocation with "char(200)" (wrong brackets) which resulted in
subsequent failures of simple "new char[8]" (but correct ones!)
======================================================================
4.11.95 19:07 version 1.2 uploaded to sunsite, LSM entry mailed, announce posted
====================================================================
6.11.
animator : class replayer gets a rotate button and so "three-dim" and "replay"
have this option, help text added
polling_handler -> step_handler
window.h: irint macro does not use rint anymore -> HP error
7.11.
window.c : hash table for mapping X-IDs to window pointers implemented
-> now there is no more limit of the number of windows and they
may be constructed and deleted in any fashion !!!
11.11.
dir-tree.c : now links are not further parsed (it gave horrible trees)
(problem was to use lstat instead of stat)
action on BPress : display directory contents in a popup window
=======================================================================
... ????
24.11.96
lattice: isoline mode implemented
window.h/c : basic colors Red,Green,Blue,Yellow,Violet defined
26.11.
window.h/c : scrollbar variables changed from int -> float
better fit for numerical applications
8.12.
window.ch : virtual resize method for coord_window implemented,
now scaling factors are automatically adapted
15.12.
window.ch : radio_buttons are derived from toggle_buttons, they have now
attached an marker that shows which value is active.
Initialization is not quite good yet (default -1 : no value)
If a value is given, it should be inizialized automatically
17.12.
animator : buttons >> and || unified to one switch_button (for similarity)
24.12.-27.12
tree.c : error cleaned with virtual height (showed in class-browser, dir-tree)
yc in rec_geometry was not initialized !
* "lin_tree" is build in Tree constructor -> hide from application
declared in tree.h, dir-tree is simpler now
constructor for Tree : if parent given : update its child-list
28.12
files.ch : * cofirm_box no more static -> caused errors sometimes
* new interface function :
int yes_no_box(char *title, char **text, int w=200, int h = 120);
* in 'open_file_interactive' static definitions changed to stack
eg : 'static file_selection_box fsb';
caused errors in desctructors ???!!
31.12.
tree.ch : color_button : virtual void bpress(XButtonEvent*) { }
to catch all mouse buttons in Node::Press_cb(XButtonEvent*)
4.1.97:
window.c : * error(char *fmt, ...) now takes args like printf -> simpler to use
* PlaceText : XSetFont(...fixed_fn) is reset after Drawing
10.1.
files.h, lattice.h : #ifndef .... #endif wraps
window.ch : "printw" like printf in windows implemented with variable args
15.1.
files.ch : class definitions moved from c->h to enable other applications
font-selector.ch : defines a window for interactive selection of Xfonts
font-browser: new demo : browse through all Xfonts !
25.1
mandel.c : new demo for Mandelbrot set
14.3.
bug-fix: sometimes wrong font used at start (not fixed)
in init_globals added :
XSetFont(display, gc_copy, fixed_fn->fid); // default font
17.3.
Email from sunsite :
At about Mar 16, 1997 16:28:51 EST, I made `keeper' move the following files
from X11/devel to X11/devel/c++libs:
grafix.1.2.README (no description)
grafix.1.2.tgz C++ library for writing X programs
grafix.1.2.tgz.lsm (no description)
Thank you for your contribution of time, effort, and creativity.
--
esr (sunsite co-maintainer)
28.4.
earth.c : great new demo for rotating earth, very nice !!
mapdata.c - data for earth (adopted from the xearth demo)
the remarkable for this demo is its animation speed, since the
projection is always computed, not stored as video !
6.6.
palette.c: minor bug fixed:
if not enough color cells it did not set scrollbars (return -> break)
16.6.
window.ch : minor bugfix: "set_color" takes unsigned long as arg
21.6.
palette.ch : constructor for palette_popup has optional argument palstr*
for initialization
7.7.
Makefile : tgz file is now expanded to grafix1.4 subdirectory
tree.c : gcc warnings eliminated
=============================================================================
7.7.97 : version 1.4
uploading to sunsite:
file HOW.TO.SUBMIT:
NOTE: DON'T UPLOAD TO /pub/Linux/Incoming ANYMORE! IT WILL NO LONGER WORK!
And uploading pirated commercial software won't help anybody. We delete it.
To submit Linux stuff to sunsite, do this:
1) Get LSM-TEMPLATE from /pub/Linux/Incoming
2) Fill out the lsm entry as described
3) Upload your files and a .lsm file containing an lsm entry
to /incoming/Linux (note: uploading to pub/Linux/Incoming
is no longer permitted).
Step 3 is no longer optional. The archive has gotten too large to
maintain by hand, and our helper tools depend on LSM information.
Anything you submit without an LSM will be rejected; you'll get an
email form letter about it if we can figure out who you are without
too much effort.
When you name your upload files, please pay attention to the guidelines
for naming things in the file NAMES. Also, please try to use one of the
standard Copying-Policy fields from LICENSES. Doing these things will
make the maintainers' lives easier (remember, they're all overworked
volunteers!). This will get your software processed faster. It will make
you wiser, stronger, sexier, brighten your teeth, and improve your karma.
And it's the right thing to do!
-------------------------------------------------------------------------
* upload tgz and lsm to sunsite:/incoming (or /incoming/Linux)
Note : all files in /incoming not readable !! (nor deletable)
* send email lsm@osf-alpha.cs.helsinki.fi
with the subject "add" and the entry in the body (one entry per message).
All other subjects cause this automatic message to be sent.
The LSM database and robot are maintained by Lars Wirzenius (liw@iki.fi).
* announce in comp.os.linux.announce :
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
==============================================================================
From: Eric Raymond <esr@sunsite.unc.edu>
Date: Fri, 11 Jul 1997 11:30:13 -0400 (EDT)
To: wolfk@gfz-potsdam.de
Subject: sunsite action notice from the `keeper' program
At about Jul 11, 1997 11:30:12 EST, `keeper' moved the following files from
Incoming to libs/X/c++libs (C++ class libraries for X development):
grafix-1.4.README
grafix-1.4.lsm
grafix-1.4.tar.gz C++ library for writing X programs
These replaced the following files:
grafix.1.2.README
grafix.1.2.tgz C++ library for writing X programs
grafix.1.2.tgz.lsm
------------------------------------------------------------------------------
14.7. 97:
posted README file to "comp.graphics.visualization"
15.7.
Email to: linux-announce@news.ornl.gov -> post to "comp.os.linux.announce"
12.1.98
bug-fix for *pulldown-menus*: now inside separate function 'handler'
failure to grab the pointer properly -> fixed (eg. in combination with lattice window
the pointer was sometimes interpreted to rotate the lattice display)
XGrabPointer no more used !
This should also fix the hangups in debugging with gdb (due to grabbed X-pointer)
Now pulldown_menu has a vector of buttons, and only these windows are
processed when the pulldown_button in pressed !
Also two global variables are removed
26.1.98
tree.c : Minor geometry-improvement
better horizontal orientation : compute max width for each depth
and position xp to this, application may use bwmax to set max witdh
10.7.98
files.c : limit of max 200 files per directory changed to 1000
3.9.98
window.* : DrawString && printw return string length
6.1.99
window.* : Help Popups generally redesigned: methods "add_help" allow dynamical
helps, which will popup on entering the window , problems with delayed popup
(asynchronuous X-calls) -> see 15.4.99
17.3.99
all : ** fitting for egc-compiler **
problems with typecasts of class member functions -> warnings
use of #pragma interface/implementation -> linker warnings
26.3.99
main_window class : default constructor now places the window in the center of
the screen (fix_pos = 2)
problems with new window-managers (kde) and window placing fixed
15.4.99 (see 6.1.99)
window.* : new help-functionality added, window-function add_help(...) generates
popup-menus, which show (after 1sec delay) when the pointer enters the window
closing is done in event_loop, problems with signal-handling solved (?)
16.4.99
window.* : buttons may be disabled, two functions to toggle state
void disable(), void enable()
20.6.99
grafix.mk, tree.* : some small changes
29.6.99
class-browser.c : bug-fix in 'parse_file' which caused segfaults sometimes :
char *buf = new char[bufsize+1]; // the buffer for ClassBuffer
5.9.99
window.* (+ tree.*) : buttons (plates) may now have different colors than the
default light-blue. Use the method "set_GC(&gc3)" to set all three GCs
needed for 3d-shapes. gc3 may be constructed by the function
"void color_GC(unsigned short r, unsigned short g, unsigned short b, GC3 *gc3);
15.9.99
window.* : added function 'map_state()' to window-class for simple testing,
if window is viewable via 'XGetWindowAttributes' (quite slow!)
18.9.99
window.* : for faster querying of mapping state : window-variable 'Bool is_mapped'
which is set by 'Map()' and 'Unmap'. Do not use other functions to map/unmap
a window, else it is inconsistent !
4.4.00
window.* : adapted for gcc-2.95.2, (errors when compiling with new gcc fixed)
esp. pointers of member functions like in 'stp->switch_play_mode(&play_scrollbar::step_fwd, this);'
mandel-new.C : nice new features, for parallelizing
9.5.00
window.h, jpeg.c: JPEG file output for all windows, pixmaps use Pixmap instead of Window
(only works for 16-bpp displays !!!)
window.* :
21.12.00 : Copyright changed to general LGPL
Release 1.6 started (for Debian Linux) upload to GFZ-ftp-server
|