Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!lll-winken!uunet!mcvax!unido!ztivax!has From: has@ztivax.UUCP (Hans-Albert Schneider) Newsgroups: comp.sys.apollo Subject: some graphic & window questions Message-ID: <662@ztivax.UUCP> Date: 12 Apr 89 14:14:21 GMT Reply-To: has@ztivax.UUCP (Hans-Albert Schneider) Organization: Siemens AG in Munich, W-Germany Lines: 74 Hi there! I would like to consult the net's knowledge on some problems which arose when we did some graphics programming on our machines. The machines are DN4000 running AEGIS SR9.7.0.3 and Unix SR9.5. One has a 19" (1024x800 pixel) colour display, the others have 1280x1024 pixel black and white displays. 1) When a window is opened (pad_$create_window) and its upper left corner is specified to be at or near (0,0), it will be smaller than specified. The amount of pixels it is smaller seems to depend on the display type. Is this a known bug/feature/what_else? Is there a system call to obtain some correcting values, or could some kind person provide a table stating all or part of the following relation: display type - x_min/y_min - x_corr/y_corr where x_min/y_min are the x and y coordinates below which the problem occurs, and x_corr/y_corr are the correcting values? 2) The width and height of the window borders seem to depend on the screen. Is there a system call to retrieve them, or could somebody provide me a table? 3) Is there a way to label a (bordered) window? I would like to have some user defined text in the banner of a window, indicating it is a "menu", a "browser window", and so on. The label can change during program execution. 4) My refresh procedure is not called when a refresh is needed, instead, the window remains blank. (The procedure IS called by gpr_$acquire, as debug shows.) I was told that it would be called during an event wait for mouse or keyboard input, but this is not satisfying. Here is how I declare and set the refresh procedure: void refresh_window(unobs,posch) boolean *unobs, *posch; { ... } main() { status_$t st; gpr_$rwin_pr_t refr_window; gpr_$rhdm_pr_t refr_hidden; pad_$create_window("test",0, pad_$transcript, (short) 1, window_data, graphic_window, st); gpr_$init(gpr_$direct, graphic_window, bitmap_size, (short) 0, bitmap, st); gpr_$set_obscured_opt(gpr_$pop_if_obs,st); gpr_$set_auto_refresh(false,st); gpr_$inq_refresh_entry(refr_window, refr_hidden, st); gpr_$set_refresh_entry(refresh_window, refr_hidden, st); printf("refresh entries set\n"); ... } Is there anything wrong with this? Or did I miss something? From the manuals, I think it should work. Hans-Albert Schneider --------------------------------------------------------------------------- paper mail: email: ARPA: has@ztivax.siemens.com Siemens AG, ZFE F 2 INF 21 or: has%ztivax@siemens.siemens.com Otto-Hahn-Ring 6, D-8000 Munich 83 Europe: ...!mcvax!unido!ztivax!has Federal Republic of Germany Germany: has@ztivax.UUCP phone: (+49) 89 636 45 890 others: "Ask your local Guru"