1 SUB SMG_LABEL_BORDER(STRING Label,BYTE Position_flag,WORD Rendition, & BYTE Vir_disp_num) !---------------------------------------------------------------& ! & ! SMG_LABEL_BORDER & ! & ! Creation Date: 3-July-1985 & ! Author: Ken Messer & ! Purpose: Label the border of a virtual & ! display & ! & ! Modification history & ! & ! Date Description of change(s) & ! & !---------------------------------------------------------------& ! & ! Copyright (c) 1985 - Ken Messer, Allied Electronics, Inc., & ! 401 E. 8th St., Ft. Worth, TX 76102 & ! & ! This software may be copied and distributed freely to anyone & ! for non-commerical use provided that this copyright notice is & ! included. & !---------------------------------------------------------------& OPTION TYPE = INTEGER, SIZE = INTEGER LONG %include "SMG$LIBRARY:SMG.DFN" EXTERNAL LONG FUNCTION SMG$Label_border EXTERNAL LONG CONSTANT SS$_Normal, & SMG$K_Top, & SMG$K_Bottom, & SMG$K_Right, & SMG$K_Left, & SMG$M_Blink, & SMG$M_Bold, & SMG$M_Reverse, & SMG$M_Underline DECLARE LONG RS, & Position, & Rendition_set, & Rendition_comp EXTERNAL STRING FUNCTION Get_Error_Message(LONG) !---------------------------------------------------------------& ! & ! M a i n P r o g r a m L o g i c & ! & !---------------------------------------------------------------& ! Select which side of the border is to be labeled SELECT Position_flag CASE 0 Position = SMG$K_Top CASE 1 Position = SMG$K_Bottom CASE 2 Position = SMG$K_Left CASE 3 Position = SMG$K_Right CASE ELSE Position = SMG$K_Top END SELECT Rendition_set, Rendition_comp = 0 ! Test the rendition mask and set the specified video attributes Rendition_set = Rendition_set OR SMG$M_Blink if Rendition AND 1 Rendition_set = Rendition_set OR SMG$M_Bold if Rendition AND 2 Rendition_set = Rendition_set OR SMG$M_Reverse if Rendition AND 4 Rendition_set = Rendition_set OR SMG$M_Underline if Rendition AND 8 Rendition_comp = Rendition_comp OR SMG$M_Blink if Rendition AND 16 Rendition_comp = Rendition_comp OR SMG$M_Bold if Rendition AND 32 Rendition_comp = Rendition_comp OR SMG$M_Reverse if Rendition AND 64 Rendition_comp = Rendition_comp OR SMG$M_Underline if Rendition AND 128 ! Label the border RS = SMG$Label_border(Display_id(Vir_disp_num),Label,Position,, & Rendition_set,Rendition_comp,) IF RS AND SS$_Normal = 0 THEN PRINT Get_Error_Message(RS) STOP END IF 32767 SUBEXIT END SUB