Commit 866a32b5f503c6dda77b2bb782fdda44e7d1e2d4

Authored by Perry Werneck
1 parent b0fa314d

Updating sf.

Showing 1 changed file with 22 additions and 29 deletions   Show diff stats
src/core/sf.c
... ... @@ -62,11 +62,18 @@
62 62 #include "utilc.h"
63 63  
64 64 /* Screen globals. */
65   -static const int cw = 7;
  65 +/*
  66 +static const int cw = 0x09;
66 67 static const int * char_width = &cw;
67 68  
68   -static const int ch = 7;
  69 +static const int ch = 0x0C;
69 70 static const int * char_height = &ch;
  71 +*/
  72 +
  73 +#define SW_3279_2 0x09
  74 +#define SH_3279_2 0x0c
  75 +#define Xr_3279_2 0x000a02e5
  76 +#define Yr_3279_2 0x0002006f
70 77  
71 78 /* Globals */
72 79 static const Boolean sfont = False;
... ... @@ -610,13 +617,14 @@ static enum pds sf_create_partition(H3270 *hSession, unsigned char buf[], int bu
610 617 GET16(pw, &buf[26]);
611 618 trace_ds(hSession,",pw=%d", pw);
612 619 } else
613   - pw = *char_width;
  620 + pw = SW_3279_2;
614 621  
615 622 if (buflen > 29) {
616 623 GET16(ph, &buf[28]);
617 624 trace_ds(hSession,",ph=%d", ph);
618 625 } else
619   - ph = *char_height;
  626 + ph = SH_3279_2;
  627 +
620 628 trace_ds(hSession,")\n");
621 629  
622 630 cursor_move(hSession,0);
... ... @@ -784,39 +792,24 @@ static void do_qr_summary(H3270 *hSession)
784 792  
785 793 static void do_qr_usable_area(H3270 *hSession)
786 794 {
787   - unsigned short num, denom;
788   -
789 795 trace_ds(hSession,"> QueryReply(UsableArea)\n");
790 796 space3270out(hSession,19);
791 797 *hSession->output.ptr++ = 0x01; /* 12/14-bit addressing */
792 798 *hSession->output.ptr++ = 0x00; /* no special character features */
793 799 SET16(hSession->output.ptr, hSession->max.cols); /* usable width */
794 800 SET16(hSession->output.ptr, hSession->max.rows); /* usable height */
795   - *hSession->output.ptr++ = 0x01; /* units (mm) */
796 801  
797   - num = display_widthMM();
798   - denom = display_width();
799   - while (!(num %2) && !(denom % 2))
800   - {
801   - num /= 2;
802   - denom /= 2;
803   - }
804   - SET16(hSession->output.ptr, (int)num); /* Xr numerator */
805   - SET16(hSession->output.ptr, (int)denom); /* Xr denominator */
  802 + *hSession->output.ptr++ = 0x01; /* units (mm) */
806 803  
807   - num = display_heightMM();
808   - denom = display_height();
809   - while (!(num %2) && !(denom % 2))
810   - {
811   - num /= 2;
812   - denom /= 2;
813   - }
  804 + //
  805 + // Got from C3270 source code.
  806 + //
814 807  
815   - SET16(hSession->output.ptr, (int)num); /* Yr numerator */
816   - SET16(hSession->output.ptr, (int)denom); /* Yr denominator */
  808 + SET32(hSession->output.ptr, Xr_3279_2); // Xr, canned from 3279-2
  809 + SET32(hSession->output.ptr, Yr_3279_2); // Yr, canned from 3279-2
817 810  
818   - *hSession->output.ptr++ = *char_width; /* AW */
819   - *hSession->output.ptr++ = *char_height; /* AH */
  811 + *hSession->output.ptr++ = SW_3279_2; // AW, canned from 3279-2
  812 + *hSession->output.ptr++ = SH_3279_2; // AH, canned from 3279-2
820 813  
821 814 SET16(hSession->output.ptr, hSession->max.cols * hSession->max.rows); /* buffer, questionable */
822 815  
... ... @@ -922,8 +915,8 @@ static void do_qr_charsets(H3270 *hSession)
922 915 *hSession->output.ptr++ = 0x82; /* flags: GE, CGCSGID present */
923 916  
924 917 *hSession->output.ptr++ = 0x00; /* more flags */
925   - *hSession->output.ptr++ = *char_width; /* SDW */
926   - *hSession->output.ptr++ = *char_height; /* SDW */
  918 + *hSession->output.ptr++ = SW_3279_2; /* SDW */
  919 + *hSession->output.ptr++ = SH_3279_2; /* SDW */
927 920 *hSession->output.ptr++ = 0x00; /* no load PS */
928 921 *hSession->output.ptr++ = 0x00;
929 922 *hSession->output.ptr++ = 0x00;
... ...