en:docs:fapi:viopopup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:docs:fapi:viopopup [2021/09/05 05:11] – created prokusheven:docs:fapi:viopopup [2022/03/18 13:27] (current) prokushev
Line 1: Line 1:
 +{{page>en:templates:fapiint}}
 +
 +====== VioPopUp ======
 +
 +
 This call is issued by an application process when it requires a temporary screen to display a momentary message to the user. This call is issued by an application process when it requires a temporary screen to display a momentary message to the user.
  
-==Syntax==+===== Syntax ===== 
 +<code c>
  VioPopUp (Options, VioHandle)  VioPopUp (Options, VioHandle)
 +</code>
  
-==Parameters== +===== Parameters =====
-;Options (PUSHORT) - input:Address of the bit flags that indicate which options to the application are being selected. +
-:15-2 - Reserved, set to zero.  +
-:1 +
-::0 Non-transparent operation. The video mode is set to text-mode 3, 3*, 3+, 7, or 7+. The highest resolution supported by the primary display adapter configured in the system is selected. The screen is cleared, and the cursor is positioned in the upper left corner of the display. +
-::1 Transparent operation. If the video mode of the outgoing foreground session is text (mode 2, 3, 7, or one of the * or + variations of these modes), no mode change occurs. The screen is not cleared, and the cursor remains in its current position. If transparent operation is selected, and if the video mode of the outgoing foreground session is not text (or if the outgoing foreground session has a VioSavRedrawWait thread), the pop-up request is refused. A unique error code ERROR_VIO_TRANSPARENT_POPUP is returned in this case. +
-:OS/2 is responsible for saving and restoring the physical display buffer of the previous foreground session around a pop-up. This is true whether transparent or non-transparent operation is selected. +
-:0 +
-::0 Return with unique error code ERROR_VIO_EXISTING_POPUP if pop-up is not immediately available. +
-::1 Wait if pop-up is not immediately available. +
-;VioHandle (HVIO) - input : Reserved words of 0s.+
  
-==Return Code== +  * Options ([[PUSHORT]]) - input:Address of the bit flags that indicate which options to the application are being selected. 
-;rc (USHORT) - return:Return code descriptions are: +    * 15-2 - Reserved, set to zero.  
-*0 NO_ERROR +    * 1 
-*405 ERROR_VIO_NO_POPUP +      * 0 = Non-transparent operation. The video mode is set to text-mode 3, 3*, 3+, 7, or 7+. The highest resolution supported by the primary display adapter configured in the system is selected. The screen is cleared, and the cursor is positioned in the upper left corner of the display. 
-*406 ERROR_VIO_EXISTING_POPUP +      * 1 = Transparent operation. If the video mode of the outgoing foreground session is text (mode 2, 3, 7, or one of the * or + variations of these modes), no mode change occurs. The screen is not cleared, and the cursor remains in its current position. If transparent operation is selected, and if the video mode of the outgoing foreground session is not text (or if the outgoing foreground session has a VioSavRedrawWait thread), the pop-up request is refused. A unique error code ERROR_VIO_TRANSPARENT_POPUP is returned in this case. 
-*483 ERROR_VIO_TRANSPARENT_POPUP+ 
 +OS/2 is responsible for saving and restoring the physical display buffer of the previous foreground session around a pop-up. This is true whether transparent or non-transparent operation is selected. 
 +    * 0 
 +      * 0 = Return with unique error code ERROR_VIO_EXISTING_POPUP if pop-up is not immediately available. 
 +      * 1 = Wait if pop-up is not immediately available. 
 +  * VioHandle ([[HVIO]]) - input : Reserved words of 0s. 
 + 
 +===== Return Code ===== 
 + 
 +rc ([[USHORT]]) - return:Return code descriptions are: 
 + 
 +  *0 NO_ERROR 
 +  *405 ERROR_VIO_NO_POPUP 
 +  *406 ERROR_VIO_EXISTING_POPUP 
 +  *483 ERROR_VIO_TRANSPARENT_POPUP 
 + 
 +===== Remarks =====
  
-==Remarks== 
 VioPopUp is normally issued by the application when it is running in the background and wishes to immediately display a message to the user without waiting to become the active foreground session. VioPopUp is normally issued by the application when it is running in the background and wishes to immediately display a message to the user without waiting to become the active foreground session.
  
Line 34: Line 46:
 While a video pop-up is in the foreground, the operator cannot use the hot key to switch to another application or to the shell. Before the operator can switch another application or the shell to the foreground, the pop-up application must issue VioEndPopUp. While a video pop-up is in the foreground, the operator cannot use the hot key to switch to another application or to the shell. Before the operator can switch another application or the shell to the foreground, the pop-up application must issue VioEndPopUp.
  
-While a video pop-up is in effect, all video calls from the previous foreground session are blocked until the process that issued VioPopUp issues VioEndPopUp.+While a video pop-up is in effect, all video calls from the previous foreground session are blocked until the process that issued VioPopUp issues [[VioEndPopUp]].
  
-When VioPopUp is issued, only the process within the session that issued VioPopUp is brought to the foreground. Assuming the session was already the foreground session, any video calls issued by other processes in that session are blocked until the process that issued VioPopUp issues VioEndPopUp.+When VioPopUp is issued, only the process within the session that issued VioPopUp is brought to the foreground. Assuming the session was already the foreground session, any video calls issued by other processes in that session are blocked until the process that issued VioPopUp issues [[VioEndPopUp]].
  
-DosExecPgm may not be issued by a process during a pop-up. The following video calls are the only calls that may be issued during the pop-up by the process that issued VioPopUp: +[[DosExecPgm]] may not be issued by a process during a pop-up. The following video calls are the only calls that may be issued during the pop-up by the process that issued VioPopUp: 
-* VioEndPopUp + 
-* VioScrollLf +  [[VioEndPopUp]] 
-* VioGetConfig +  [[VioScrollLf]] 
-* VioSetCurPos +  [[VioGetConfig]] 
-* VioGetCp +  [[VioSetCurPos]] 
-* VioSetCurType +  [[VioGetCp]] 
-* VioGetFont +  [[VioSetCurType]] 
-* VioSetCp +  [[VioGetFont]] 
-* VioGetAnsi +  [[VioSetCp]] 
-* VioSetFont +  [[VioGetAnsi]] 
-* VioGetState +  [[VioSetFont]] 
-* VioSetState +  [[VioGetState]] 
-* VioGetCurPos +  [[VioSetState]] 
-* VioWrtNChar +  [[VioGetCurPos]] 
-* VioGetCurType +  [[VioWrtNChar]] 
-* VioWrtNAttr +  [[VioGetCurType]] 
-* VioGetMode +  [[VioWrtNAttr]] 
-* VioWrtNCell +  [[VioGetMode]] 
-* VioReadCharStr +  [[VioWrtNCell]] 
-* VioWrtCharStr +  [[VioReadCharStr]] 
-* VioReadCellStr +  [[VioWrtCharStr]] 
-* VioWrtCharStrAtt +  [[VioReadCellStr]] 
-* VioScrollRt +  [[VioWrtCharStrAtt]] 
-* VioWrtCellStr +  [[VioScrollRt]] 
-* VioScrollUp +  [[VioWrtCellStr]] 
-* VioWrtTTY +  [[VioScrollUp]] 
-* VioScrollDn +  [[VioWrtTTY]] 
-Selectors to the physical display buffer that the issuing process obtained on a prior VioGetPhysBuf call may not be used during the pop-up.+  [[VioScrollDn]] 
 + 
 +Selectors to the physical display buffer that the issuing process obtained on a prior [[VioGetPhysBuf]] call may not be used during the pop-up.
  
 When an application registers a replacement for VioPopUp within a session, the registered routine is invoked only when that session is in the foreground. If VioPopUp is issued when that session is in the background, the OS/2 default routine is invoked. If the application's session is using a keyboard or mouse monitor, the monitor does not intercept data while the pop-up is active. When an application registers a replacement for VioPopUp within a session, the registered routine is invoked only when that session is in the foreground. If VioPopUp is issued when that session is in the background, the OS/2 default routine is invoked. If the application's session is using a keyboard or mouse monitor, the monitor does not intercept data while the pop-up is active.
  
-===PM Considerations=== +==== PM Considerations ====
-This function can be used from within a PM application. Kbdxxx, Mouxxx, and Vioxxx calls (with a zero handle) are all allowed between VioPopUp and VioEndPopUp, and are directed to the pop-up screen. An error is returned if issued with a non-zero handle.+
  
-==Bindings== +This function can be used from within a PM application. Kbdxxx, Mouxxx, and Vioxxx calls (with a zero handle) are all allowed between VioPopUp and [[VioEndPopUp]], and are directed to the pop-up screen. An error is returned if issued with a non-zero handle. 
-===C=== + 
-<PRE>+===== Bindings ===== 
 + 
 +====C==== 
 +<code c>
 #define INCL_VIO #define INCL_VIO
  
Line 84: Line 100:
  
 USHORT  rc;            /* return code */ USHORT  rc;            /* return code */
-</PRE>+</code>
  
-===MASM=== +====MASM==== 
-<PRE>+<code asm>
 EXTRN   VioPopUp:FAR EXTRN   VioPopUp:FAR
 INCL_VIO            EQU 1 INCL_VIO            EQU 1
Line 96: Line 112:
  
 Returns WORD Returns WORD
-</PRE>+</code>
  
 [[http://www.edm2.com/index.php/VioPopUp_(OS/2_1.x)]] [[http://www.edm2.com/index.php/VioPopUp_(OS/2_1.x)]]
 +
 +{{page>en:templates:fapi}}