[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
Moderator: | STAR::VATNE |
|
Created: | Mon Oct 30 1989 |
Last Modified: | Mon Dec 31 1990 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 3726 |
Total number of notes: | 19516 |
3503.0. "Accvio on XPolygonRegion " by PEACHS::BELDIN () Mon Oct 22 1990 16:54
The following code accvio's with the following status the second
time on the call to X$POLYGON_REGION ONLY on color VMS worstations
(both GPX and SPX). Mono systems work fine... If the call to
X$DESTROY_REGION is removed the code works fine... Same results
on VMS 5.3-1, VMS 5.4... Any ideas?
Rick Beldin
Graphics and Applications Support
Atlanta CSC
------------------------------------------------------------------------------
Here is the text of the accvio, followed by code:
$ r old_polyregion
CYCLE = 1
CYCLE = 2
%SYSTEM-F-ACCVIO, access violation, reason mask=04, virtual address=0001A104,
PC
=0000A722, PSL=03C00001
%TRACE-F-TRACEBACK, symbolic stack dump follows
module name routine name line rel PC abs PC
0000A722 0000A722
0007F21B 0007F21B
0009758A 0009758A
0009232F 0009232F
TEST TEST 6784 00000169 00000969
------------------------------------------------------------------------------
PROGRAM TEST
IMPLICIT NONE
INCLUDE 'SYS$LIBRARY:DECW$XLIBDEF'
INTEGER*4 DISPLAY_ID ! display id
INTEGER*4 WINDOW_ID ! window id
INTEGER*4 SCREEN_ID ! screen id
INTEGER*4 WINDOW_DEPTH ! window depth
INTEGER*4 WINDOW_HEIGHT /100/
INTEGER*4 WINDOW_WIDTH /100/
RECORD /X$VISUAL/ VISUAL ! visual type
RECORD /X$IMAGE/ OLD_XIMAGE
RECORD /X$IMAGE/ NEW_XIMAGE
C INTEGER*4 X$CREATE_IMAGE
INTEGER*4 REGION_ID
INTEGER*4 PIXEL_WIDTH /53/
INTEGER*4 PIXEL_HEIGHT /25/
INTEGER*4 PIXEL
INTEGER*4 I,K
RECORD /X$POINT/ POINT_ARRAY(4)
INTEGER*4 STATUS ! status return
INTEGER*4 ATTR_MASK ! window attributes mask
RECORD /X$SET_WIN_ATTRIBUTES/ XSWDA ! window attributes
DISPLAY_ID = X$OPEN_DISPLAY ()
SCREEN_ID = X$DEFAULT_SCREEN_OF_DISPLAY (DISPLAY_ID)
WINDOW_DEPTH = X$DEFAULT_DEPTH_OF_SCREEN (SCREEN_ID)
CALL X$DEFAULT_VISUAL_OF_SCREEN (SCREEN_ID,VISUAL)
ATTR_MASK = X$M_CW_OVERRIDE_REDIRECT
XSWDA.X$L_SWDA_OVERRIDE_REDIRECT = X$S_CW_OVERRIDE_REDIRECT
WINDOW_ID = X$CREATE_WINDOW (DISPLAY_ID,
1 X$ROOT_WINDOW_OF_SCREEN(SCREEN_ID),
1 0,0, WINDOW_WIDTH, WINDOW_HEIGHT, 0,
1 WINDOW_DEPTH, X$C_INPUT_OUTPUT, VISUAL, ATTR_MASK, XSWDA)
CALL X$MAP_WINDOW(DISPLAY_ID, WINDOW_ID)
POINT_ARRAY(1).X$W_GPNT_X = 10
POINT_ARRAY(1).X$W_GPNT_Y = 10
POINT_ARRAY(2).X$W_GPNT_X = 20
POINT_ARRAY(2).X$W_GPNT_Y = 10
POINT_ARRAY(3).X$W_GPNT_X = 20
POINT_ARRAY(3).X$W_GPNT_Y = 20
POINT_ARRAY(4).X$W_GPNT_X = 10
POINT_ARRAY(4).X$W_GPNT_Y = 20
STATUS = X$GET_IMAGE (DISPLAY_ID, WINDOW_ID,
1 0,0,PIXEL_WIDTH,PIXEL_HEIGHT,
2 -1, X$C_Z_PIXMAP, OLD_XIMAGE)
status = X$CREATE_IMAGE (DISPLAY_ID,
1 VISUAL.X$L_VISU_VISUALID,
2 WINDOW_DEPTH,
3 X$C_Z_PIXMAP,
4 OLD_XIMAGE.X$L_IMAG_XOFFSET,
5 %VAL(OLD_XIMAGE.X$A_IMAG_DATA),
6 PIXEL_HEIGHT,
7 PIXEL_WIDTH,
8 OLD_XIMAGE.X$L_IMAG_BITMAP_PAD,
9 OLD_XIMAGE.X$L_IMAG_BYTES_PER_LINE,
a NEW_XIMAGE)
DO K = 1,100
TYPE *, 'CYCLE = ',K
DO I = 1,PIXEL_WIDTH
CALL X$PUT_PIXEL(NEW_XIMAGE,1,I,PIXEL)
ENDDO
C here is where accvio occurs
REGION_ID = X$POLYGON_REGION (POINT_ARRAY, 4,
1 X$C_EVEN_ODD_RULE)
CALL X$DESTROY_REGION (REGION_ID)
ENDDO
CALL X$DESTROY_IMAGE (NEW_XIMAGE)
END
T.R | Title | User | Personal Name | Date | Lines
|
---|