@@ -70,30 +70,29 @@ void Panel::UpdateBorderTexture() {
7070 m_surface->GetGeometry ()->SetPadding ( std::ceil ( m_border_corners / 2 ) );
7171 auto * texture = m_border_surface->GetOwnedTexturePtr ();
7272 const auto & a = m_geometry->AsRectangle ()->m_area ;
73- if ( texture->Resize ( std::round ( a.width ), std::round ( a.height ) ) ) {
74- auto * bitmap = texture->GetBitmap ();
75- if ( bitmap ) {
76- memset ( bitmap, 0 , texture->GetBitmapSize () );
77- if ( m_border_color != types::Color{} ) {
78- long int r = std::ceil ( std::fmin ( m_border_corners, std::min ( a.width , a.height ) / 2 - 1 ) );
79- for ( auto x = r ; x < a.width - r ; x++ ) {
80- texture->SetPixel ( x, 0 , m_border_color );
81- texture->SetPixel ( x, a.height - 1 , m_border_color );
82- }
83- for ( auto y = r ; y < a.height - r ; y++ ) {
84- texture->SetPixel ( 0 , y, m_border_color );
85- texture->SetPixel ( a.width - 1 , y, m_border_color );
86- }
87- for ( auto i = 0 ; i < r ; i++ ) {
88- texture->SetPixel ( i, r - i, m_border_color );
89- texture->SetPixel ( r - i, i, m_border_color );
90- texture->SetPixel ( a.width - 1 - i, r - i, m_border_color );
91- texture->SetPixel ( a.width - 1 - ( r - i ), i, m_border_color );
92- texture->SetPixel ( a.width - 1 - i, a.height - 1 - ( r - i ), m_border_color );
93- texture->SetPixel ( a.width - 1 - ( r - i ), a.height - 1 - i, m_border_color );
94- texture->SetPixel ( i, a.height - 1 - ( r - i ), m_border_color );
95- texture->SetPixel ( r - i, a.height - 1 - i, m_border_color );
96- }
73+ texture->Resize ( std::round ( a.width ), std::round ( a.height ) );
74+ auto * bitmap = texture->GetBitmap ();
75+ if ( bitmap ) {
76+ memset ( bitmap, 0 , texture->GetBitmapSize () );
77+ if ( m_border_color != types::Color{} ) {
78+ long int r = std::ceil ( std::fmin ( m_border_corners, std::min ( a.width , a.height ) / 2 - 1 ) );
79+ for ( auto x = r ; x < a.width - r ; x++ ) {
80+ texture->SetPixel ( x, 0 , m_border_color );
81+ texture->SetPixel ( x, a.height - 1 , m_border_color );
82+ }
83+ for ( auto y = r ; y < a.height - r ; y++ ) {
84+ texture->SetPixel ( 0 , y, m_border_color );
85+ texture->SetPixel ( a.width - 1 , y, m_border_color );
86+ }
87+ for ( auto i = 0 ; i < r ; i++ ) {
88+ texture->SetPixel ( i, r - i, m_border_color );
89+ texture->SetPixel ( r - i, i, m_border_color );
90+ texture->SetPixel ( a.width - 1 - i, r - i, m_border_color );
91+ texture->SetPixel ( a.width - 1 - ( r - i ), i, m_border_color );
92+ texture->SetPixel ( a.width - 1 - i, a.height - 1 - ( r - i ), m_border_color );
93+ texture->SetPixel ( a.width - 1 - ( r - i ), a.height - 1 - i, m_border_color );
94+ texture->SetPixel ( i, a.height - 1 - ( r - i ), m_border_color );
95+ texture->SetPixel ( r - i, a.height - 1 - i, m_border_color );
9796 }
9897 }
9998 texture->FullUpdate (); // TODO: optimize?
0 commit comments