Mercurial > public > ostc4
comparison Discovery/Src/gfx_engine.c @ 114:79b19d56ab08 FlipDisplay
Eliminate warnings
| author | Ideenmodellierer |
|---|---|
| date | Thu, 03 Jan 2019 18:35:11 +0100 |
| parents | cc8e24374b83 |
| children | 76fa42fc0b20 |
comparison
equal
deleted
inserted
replaced
| 113:ecd230187da8 | 114:79b19d56ab08 |
|---|---|
| 911 SSettings* pSettings; | 911 SSettings* pSettings; |
| 912 pSettings = settingsGetPointer(); | 912 pSettings = settingsGetPointer(); |
| 913 | 913 |
| 914 if(pSettings->FlipDisplay) | 914 if(pSettings->FlipDisplay) |
| 915 { | 915 { |
| 916 pDestination = hgfx->FBStartAdress + (2*hgfx->ImageHeight * (hgfx->ImageWidth - x0 + offset)) + 2*(480 - y0+offset); | 916 pDestination = (uint16_t*)hgfx->FBStartAdress; |
| 917 pDestination += (hgfx->ImageHeight * (hgfx->ImageWidth - x0 + offset)) + (480 - y0+offset); | |
| 917 stepdir = -1; | 918 stepdir = -1; |
| 918 } | 919 } |
| 919 else | 920 else |
| 920 { | 921 { |
| 921 pDestination = hgfx->FBStartAdress + 2*(x0 - offset)*hgfx->ImageHeight + 2*(y0-offset); | 922 pDestination = (uint16_t*)hgfx->FBStartAdress; |
| 923 pDestination += (x0 - offset)*hgfx->ImageHeight + (y0-offset); | |
| 922 stepdir = 1; | 924 stepdir = 1; |
| 923 } | 925 } |
| 924 for(int x=thickness;x>0;x--) | 926 for(int x=thickness;x>0;x--) |
| 925 { | 927 { |
| 926 for(int y=thickness;y>0;y--) | 928 for(int y=thickness;y>0;y--) |
| 991 /* horizontal line */ | 993 /* horizontal line */ |
| 992 if(start.x == stop.x) | 994 if(start.x == stop.x) |
| 993 { | 995 { |
| 994 if(start.y > stop.y) gfx_flip(&start,&stop); | 996 if(start.y > stop.y) gfx_flip(&start,&stop); |
| 995 | 997 |
| 996 pDestination = (uint32_t)hgfx->FBStartAdress; | 998 pDestination = (uint16_t*)hgfx->FBStartAdress; |
| 997 if(pSettings->FlipDisplay) | 999 if(pSettings->FlipDisplay) |
| 998 { | 1000 { |
| 999 pDestination += (800 - start.x) * hgfx->ImageHeight; | 1001 pDestination += (800 - start.x) * hgfx->ImageHeight; |
| 1000 pDestination += (480 - start.y); | 1002 pDestination += (480 - start.y); |
| 1001 stepdir = -1; | 1003 stepdir = -1; |
| 1014 } | 1016 } |
| 1015 else /* vertical line ? */ | 1017 else /* vertical line ? */ |
| 1016 if(start.y == stop.y) | 1018 if(start.y == stop.y) |
| 1017 { | 1019 { |
| 1018 if(start.x > stop.x) gfx_flip(&start,&stop); | 1020 if(start.x > stop.x) gfx_flip(&start,&stop); |
| 1019 pDestination = (uint32_t)hgfx->FBStartAdress; | 1021 pDestination = (uint16_t*)hgfx->FBStartAdress; |
| 1020 | 1022 |
| 1021 if(pSettings->FlipDisplay) | 1023 if(pSettings->FlipDisplay) |
| 1022 { | 1024 { |
| 1023 pDestination += (800 - start.x) * hgfx->ImageHeight; | 1025 pDestination += (800 - start.x) * hgfx->ImageHeight; |
| 1024 pDestination += (480 - start.y); | 1026 pDestination += (480 - start.y); |
| 1087 | 1089 |
| 1088 if(pSettings->FlipDisplay) | 1090 if(pSettings->FlipDisplay) |
| 1089 { | 1091 { |
| 1090 for(int xx = start.x; xx < stop.x; xx++) | 1092 for(int xx = start.x; xx < stop.x; xx++) |
| 1091 { | 1093 { |
| 1092 pDestination = hgfx->FBStartAdress; | 1094 pDestination = (uint16_t*)hgfx->FBStartAdress; |
| 1093 pDestination += (hgfx->ImageHeight - start.y) + (stop.x * hgfx->ImageHeight) ; | 1095 pDestination += (hgfx->ImageHeight - start.y) + (stop.x * hgfx->ImageHeight) ; |
| 1094 pDestination -= (xx - start.x) * hgfx->ImageHeight; | 1096 pDestination -= (xx - start.x) * hgfx->ImageHeight; |
| 1095 | 1097 |
| 1096 for(int yy = start.y; yy < stop.y; yy++) | 1098 for(int yy = start.y; yy < stop.y; yy++) |
| 1097 { | 1099 { |
| 1098 *(__IO uint16_t*)pDestination-- = image->data[j++] << 8 + color; | 1100 *(__IO uint16_t*)pDestination-- = (image->data[j++] << 8) + color; |
| 1099 } | 1101 } |
| 1100 } | 1102 } |
| 1101 } | 1103 } |
| 1102 else | 1104 else |
| 1103 { | 1105 { |
| 1104 for(int xx = start.x; xx < stop.x; xx++) | 1106 for(int xx = start.x; xx < stop.x; xx++) |
| 1105 { | 1107 { |
| 1106 pDestination = (uint32_t)hgfx->FBStartAdress; | 1108 pDestination = (uint16_t*)hgfx->FBStartAdress; |
| 1107 pDestination += xx * hgfx->ImageHeight; | 1109 pDestination += xx * hgfx->ImageHeight; |
| 1108 pDestination += start.y; | 1110 pDestination += start.y; |
| 1109 for(int yy = start.y; yy < stop.y; yy++) | 1111 for(int yy = start.y; yy < stop.y; yy++) |
| 1110 { | 1112 { |
| 1111 *(__IO uint16_t*)pDestination++ = image->data[j++] << 8 + color; | 1113 *(__IO uint16_t*)pDestination++ = (image->data[j++] << 8) + color; |
| 1112 } | 1114 } |
| 1113 } | 1115 } |
| 1114 } | 1116 } |
| 1115 } | 1117 } |
| 1116 | 1118 |
| 1148 } | 1150 } |
| 1149 else | 1151 else |
| 1150 { | 1152 { |
| 1151 for(int xx = start.x; xx < stop.x; xx++) | 1153 for(int xx = start.x; xx < stop.x; xx++) |
| 1152 { | 1154 { |
| 1153 pDestination = (uint32_t)hgfx->FBStartAdress; | 1155 pDestination = (uint16_t*)hgfx->FBStartAdress; |
| 1154 pDestination += xx * hgfx->ImageHeight; | 1156 pDestination += xx * hgfx->ImageHeight; |
| 1155 pDestination += start.y; | 1157 pDestination += start.y; |
| 1156 for(int yy = start.y; yy < stop.y; yy++) | 1158 for(int yy = start.y; yy < stop.y; yy++) |
| 1157 { | 1159 { |
| 1158 *(__IO uint16_t*)pDestination++ = 0xFF << 8 | image->data[j++]; | 1160 *(__IO uint16_t*)pDestination++ = 0xFF << 8 | image->data[j++]; |
| 1634 pDestination_zero_veil = (uint16_t*)hgfx->FBStartAdress; | 1636 pDestination_zero_veil = (uint16_t*)hgfx->FBStartAdress; |
| 1635 pDestination_zero_veil += ((479 - (drawVeilUntil - 2) ) + ((w1 + window->left) * hgfx->ImageHeight) ); | 1637 pDestination_zero_veil += ((479 - (drawVeilUntil - 2) ) + ((w1 + window->left) * hgfx->ImageHeight) ); |
| 1636 } | 1638 } |
| 1637 else if(drawVeilUntil < 0 ) | 1639 else if(drawVeilUntil < 0 ) |
| 1638 { | 1640 { |
| 1639 pDestination_zero_veil = hgfx->FBStartAdress; | 1641 pDestination_zero_veil = (uint16_t*)hgfx->FBStartAdress; |
| 1640 pDestination_zero_veil += ((479 + (drawVeilUntil)) + ((w1 + window->left) * hgfx->ImageHeight) ); | 1642 pDestination_zero_veil += ((479 + (drawVeilUntil)) + ((w1 + window->left) * hgfx->ImageHeight) ); |
| 1641 } | 1643 } |
| 1642 } | 1644 } |
| 1643 else | 1645 else |
| 1644 { | 1646 { |
| 1645 if(drawVeilUntil > 0) | 1647 if(drawVeilUntil > 0) |
| 1646 { | 1648 { |
| 1647 pDestination_zero_veil = hgfx->FBStartAdress; | 1649 pDestination_zero_veil = (uint16_t*)hgfx->FBStartAdress; |
| 1648 pDestination_zero_veil += (((drawVeilUntil) ) + ( (window->right - w1) * hgfx->ImageHeight) ); | 1650 pDestination_zero_veil += (((drawVeilUntil) ) + ( (window->right - w1) * hgfx->ImageHeight) ); |
| 1649 } | 1651 } |
| 1650 else if(drawVeilUntil < 0 ) | 1652 else if(drawVeilUntil < 0 ) |
| 1651 { | 1653 { |
| 1652 pDestination_zero_veil = hgfx->FBStartAdress; | 1654 pDestination_zero_veil = (uint16_t*)hgfx->FBStartAdress; |
| 1653 pDestination_zero_veil += 479 - drawVeilUntil + ( (window->right - w1 -1) * hgfx->ImageHeight); | 1655 pDestination_zero_veil += 479 - drawVeilUntil + ( (window->right - w1 -1) * hgfx->ImageHeight); |
| 1654 } | 1656 } |
| 1655 } | 1657 } |
| 1656 if(h_ulong + window->top > max) | 1658 if(h_ulong + window->top > max) |
| 1657 { | 1659 { |
| 1663 // { | 1665 // { |
| 1664 //output_content[pointer] = colormask; | 1666 //output_content[pointer] = colormask; |
| 1665 //output_mask[pointer] = true; | 1667 //output_mask[pointer] = true; |
| 1666 if(w1 > 0) | 1668 if(w1 > 0) |
| 1667 { | 1669 { |
| 1668 pDestination_start = hgfx->FBStartAdress; | 1670 pDestination_start = (uint16_t*)hgfx->FBStartAdress; |
| 1669 if(!pSettings->FlipDisplay) | 1671 if(!pSettings->FlipDisplay) |
| 1670 { | 1672 { |
| 1671 pDestination_start += (((479 - (window->top)) + ((w1 + window->left) * hgfx->ImageHeight))); | 1673 pDestination_start += (((479 - (window->top)) + ((w1 + window->left) * hgfx->ImageHeight))); |
| 1672 } | 1674 } |
| 1673 else | 1675 else |
| 1875 SSettings* pSettings; | 1877 SSettings* pSettings; |
| 1876 pSettings = settingsGetPointer(); | 1878 pSettings = settingsGetPointer(); |
| 1877 | 1879 |
| 1878 lineWidth = WidthHeight.x; | 1880 lineWidth = WidthHeight.x; |
| 1879 lineHeight = WidthHeight.y; | 1881 lineHeight = WidthHeight.y; |
| 1880 pStart = (uint32_t)hgfx->FBStartAdress; | 1882 pStart = (uint16_t*)hgfx->FBStartAdress; |
| 1881 | 1883 |
| 1882 if(!pSettings->FlipDisplay) | 1884 if(!pSettings->FlipDisplay) |
| 1883 { | 1885 { |
| 1884 pStart += LeftLow.x * hgfx->ImageHeight; | 1886 pStart += LeftLow.x * hgfx->ImageHeight; |
| 1885 pStart += LeftLow.y; | 1887 pStart += LeftLow.y; |
| 1889 { | 1891 { |
| 1890 pStart += (800 - LeftLow.x - 1) * hgfx->ImageHeight; | 1892 pStart += (800 - LeftLow.x - 1) * hgfx->ImageHeight; |
| 1891 pStart += (480 - LeftLow.y); | 1893 pStart += (480 - LeftLow.y); |
| 1892 stepdir = -1; | 1894 stepdir = -1; |
| 1893 } | 1895 } |
| 1894 pStart = pStart; | |
| 1895 | 1896 |
| 1896 // Untere Linie | 1897 // Untere Linie |
| 1897 pDestination = pStart; | 1898 pDestination = pStart; |
| 1898 if(Style) | 1899 if(Style) |
| 1899 { | 1900 { |
| 2583 { | 2584 { |
| 2584 uint32_t i, j; | 2585 uint32_t i, j; |
| 2585 uint32_t width, height; | 2586 uint32_t width, height; |
| 2586 uint32_t found; | 2587 uint32_t found; |
| 2587 uint16_t* pDestination; | 2588 uint16_t* pDestination; |
| 2588 uint32_t pDestinationColor; | |
| 2589 uint32_t pSource; | 2589 uint32_t pSource; |
| 2590 uint32_t OffsetDestination; | 2590 uint32_t OffsetDestination; |
| 2591 uint32_t width_left; | 2591 uint32_t width_left; |
| 2592 uint32_t height_left; | 2592 uint32_t height_left; |
| 2593 uint32_t char_truncated_WidthFlag; | 2593 uint32_t char_truncated_WidthFlag; |
| 2625 } | 2625 } |
| 2626 if(!found) | 2626 if(!found) |
| 2627 return cfg->Xdelta; | 2627 return cfg->Xdelta; |
| 2628 | 2628 |
| 2629 pSource = ((uint32_t)Font->chars[i].image->data); | 2629 pSource = ((uint32_t)Font->chars[i].image->data); |
| 2630 pDestination = 1 + (uint32_t)hgfx->Image->FBStartAdress; | 2630 pDestination = (uint16_t*)(hgfx->Image->FBStartAdress+1); |
| 2631 | 2631 |
| 2632 heightFont = Font->chars[i].image->height; | 2632 heightFont = Font->chars[i].image->height; |
| 2633 widthFont = Font->chars[i].image->width; | 2633 widthFont = Font->chars[i].image->width; |
| 2634 | 2634 |
| 2635 height = heightFont*2; | 2635 height = heightFont*2; |
| 2965 | 2965 |
| 2966 uint32_t i, j; | 2966 uint32_t i, j; |
| 2967 uint32_t width, height; | 2967 uint32_t width, height; |
| 2968 uint32_t found; | 2968 uint32_t found; |
| 2969 uint16_t* pDestination; | 2969 uint16_t* pDestination; |
| 2970 uint32_t pDestinationColor; | |
| 2971 uint32_t pSource; | 2970 uint32_t pSource; |
| 2972 uint32_t OffsetDestination; | 2971 uint32_t OffsetDestination; |
| 2973 uint32_t width_left; | 2972 uint32_t width_left; |
| 2974 uint32_t height_left; | 2973 uint32_t height_left; |
| 2975 uint32_t char_truncated_WidthFlag; | 2974 uint32_t char_truncated_WidthFlag; |
| 3014 */ | 3013 */ |
| 3015 // ----------------------------- | 3014 // ----------------------------- |
| 3016 | 3015 |
| 3017 | 3016 |
| 3018 pSource = ((uint32_t)Font->chars[i].image->data); | 3017 pSource = ((uint32_t)Font->chars[i].image->data); |
| 3019 pDestination = (uint32_t)hgfx->Image->FBStartAdress + 1; | 3018 pDestination = (uint16_t*)(hgfx->Image->FBStartAdress + 1); |
| 3020 | 3019 |
| 3021 height = Font->chars[i].image->height; | 3020 height = Font->chars[i].image->height; |
| 3022 width = Font->chars[i].image->width; | 3021 width = Font->chars[i].image->width; |
| 3023 | 3022 |
| 3024 OffsetDestination = hgfx->Image->ImageHeight - height; | 3023 OffsetDestination = hgfx->Image->ImageHeight - height; |
