Article # 606, added by Geoworks, historical record
| first |
previous |
index |
next |
last |
Broken C-stub: WinScroll
C Function: WinScroll Date Fixed: 7/21/97 This c-stub was not taking the correct types and number of parameters and was basically not useful. There is a work-around for devices made before the fix was installed, shown below: You have to remove the 'WinScroll' definition and the 'WINSCROLL' alias line from 'win.h'. Then GLUE links the WinScroll call to the assembler routine rather than to the c-stub. You have to make the function call outside the ASM part because the internal assembler would only create a fixed far call instead of a relocatable call. void far WinScroll( void ); void C_WinScroll( WindowHandle win, WWFixedAsDWord xMove, WWFixedAsDWord yMove, PointWWFixed * scrollAmt ) { asm { mov dx, word (xMove+2) mov cx, word (xMove) mov bx, word (yMove+2) mov ax, word (yMove) mov di, win } WinScroll(); asm { mov word (scrollAmt).PF_x.WWF_int, dx mov word (scrollAmt).PF_x.WWF_frac, cx mov word (scrollAmt).PF_y.WWF_int, bx mov word (scrollAmt).PF_y.WWF_frac, ax } };