| 3923 | // East Indian is displayed in place of South Indian when -XC setting is on. |
| 3924 | |
| 3925 | void XChartIndian() |
| 3926 | { |
| 3927 | char sz[cchSzDef]; |
| 3928 | int rgcbox[cSign+1], mpobox[objMax], rgibox[objMax], |
| 3929 | rgx[cSign+1], rgy[cSign+1], nTrans = (int)(gs.rBackPct * 256.0 / 100.0), |
| 3930 | cx, cy, unit, x1, y1, x2, y2, x11, y11, x22, y22, xs, ys, xb, yb, xi, yi, |
| 3931 | xp, yp, z, i, j, k, n, sig, nGrid; |
| 3932 | flag fSouthIndian = (gi.nMode == gWheel && !gs.fHouseExtra), |
| 3933 | fNorthIndian = gi.nMode == gHouse, |
| 3934 | fEastIndian = (gi.nMode == gWheel && gs.fHouseExtra), |
| 3935 | fTextHouse = (gs.nFontHou == 0), |
| 3936 | fHouseSign = (us.nHouseSystem == hsWhole || us.nHouseSystem == hsNull), |
| 3937 | fOff; |
| 3938 | KI kiContrast; |
| 3939 | |
| 3940 | // Initialize box size and other variables |
| 3941 | if (gs.fText && gs.fDoSidebar) |
| 3942 | gs.xWin -= xSideT; |
| 3943 | unit = Max(12, yFontT); |
| 3944 | x1 = y1 = unit; x2 = gs.xWin-1-unit; y2 = gs.yWin-1-unit; |
| 3945 | cx = (x1+x2)/2; cy = (y1+y2)/2; |
| 3946 | if (!fEastIndian) { |
| 3947 | xb = (x2-x1)/4; yb = (y2-y1)/4; |
| 3948 | x1 = cx - xb*2; y1 = cy - yb*2; x2 = cx + xb*2; y2 = cy + yb*2; |
| 3949 | } else { |
| 3950 | xb = (x2-x1)/3; yb = (y2-y1)/3; |
| 3951 | x1 = cx - xb*3/2; y1 = cy - yb*3/2; x2 = cx + xb*3/2; y2 = cy + yb*3/2; |
| 3952 | } |
| 3953 | xs = x2-x1; ys = y2-y1; |
| 3954 | x11 = x1 + xb; y11 = y1 + yb; x22 = x2 - xb; y22 = y2 - yb; |
| 3955 | ClearB((pbyte)rgcbox, sizeof(rgcbox)); |
| 3956 | ClearB((pbyte)mpobox, sizeof(mpobox)); |
| 3957 | ClearB((pbyte)rgibox, sizeof(rgibox)); |
| 3958 | |
| 3959 | // Draw box outlines |
| 3960 | DrawColor(gi.kiOn); |
| 3961 | DrawEdge(x1, y1, x2, y2); |
| 3962 | if (fSouthIndian) { |
| 3963 | DrawLineX(x1, x2, y11); DrawLineX(x1, x2, y22); |
| 3964 | DrawLineY(x11, y1, y2); DrawLineY(x22, y1, y2); |
| 3965 | DrawLineX(x1, x11, cy); DrawLineX(x22, x2, cy); |
| 3966 | DrawLineY(cx, y1, y11); DrawLineY(cx, y22, y2); |
| 3967 | rgx[1] = x11; rgy[1] = y1; |
| 3968 | rgx[2] = cx; rgy[2] = y1; |
| 3969 | rgx[3] = x22; rgy[3] = y1; |
| 3970 | rgx[4] = x22; rgy[4] = y11; |
| 3971 | rgx[5] = x22; rgy[5] = cy; |
| 3972 | rgx[6] = x22; rgy[6] = y22; |
| 3973 | rgx[7] = cx; rgy[7] = y22; |
| 3974 | rgx[8] = x11; rgy[8] = y22; |
| 3975 | rgx[9] = x1; rgy[9] = y22; |
| 3976 | rgx[10] = x1; rgy[10] = cy; |
| 3977 | rgx[11] = x1; rgy[11] = y11; |
| 3978 | rgx[12] = x1; rgy[12] = y1; |
| 3979 | z = 6*gi.nScale; |
| 3980 | } else if (fNorthIndian) { |
| 3981 | DrawLine(x1, y1, x2, y2); DrawLine(x2, y1, x1, y2); |
| 3982 | DrawLine(cx, y1, x1, cy); DrawLine(x1, cy, cx, y2); |
no test coverage detected