mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:12:43 +00:00 
			
		
		
		
	LibGUI: Improve GFrame's look for Container shapes.
This is now starting to look like a proper container. Very nice :^)
This commit is contained in:
		
							parent
							
								
									f939fb7eb7
								
							
						
					
					
						commit
						5d72cf5a3f
					
				
					 7 changed files with 50 additions and 20 deletions
				
			
		|  | @ -21,7 +21,7 @@ void GFrame::paint_event(GPaintEvent& event) | |||
| 
 | ||||
|     Color top_left_color; | ||||
|     Color bottom_right_color; | ||||
|     Color dark_shade = m_shape == Shape::Container ? Color::from_rgb(0x404040) : Color::from_rgb(0x808080); | ||||
|     Color dark_shade = Color::from_rgb(0x808080); | ||||
|     Color light_shade = Color::from_rgb(0xffffff); | ||||
| 
 | ||||
|     if (m_shadow == Shadow::Raised) { | ||||
|  | @ -35,8 +35,32 @@ void GFrame::paint_event(GPaintEvent& event) | |||
|         bottom_right_color = dark_shade; | ||||
|     } | ||||
| 
 | ||||
|     painter.draw_line(rect().top_left(), rect().top_right(), top_left_color); | ||||
|     painter.draw_line(rect().bottom_left(), rect().bottom_right(), bottom_right_color); | ||||
|     painter.draw_line(rect().top_left().translated(0, 1), rect().bottom_left().translated(0, -1), top_left_color); | ||||
|     painter.draw_line(rect().top_right(), rect().bottom_right().translated(0, -1), bottom_right_color); | ||||
|     if (m_thickness >= 1) { | ||||
|         painter.draw_line(rect().top_left(), rect().top_right(), top_left_color); | ||||
|         painter.draw_line(rect().bottom_left(), rect().bottom_right(), bottom_right_color); | ||||
|         painter.draw_line(rect().top_left().translated(0, 1), rect().bottom_left().translated(0, -1), top_left_color); | ||||
|         painter.draw_line(rect().top_right(), rect().bottom_right().translated(0, -1), bottom_right_color); | ||||
|     } | ||||
| 
 | ||||
|     if (m_shape == Shape::Container && m_thickness >= 2) { | ||||
|         Color top_left_color; | ||||
|         Color bottom_right_color; | ||||
|         Color dark_shade = Color::from_rgb(0x404040); | ||||
|         Color light_shade = Color::from_rgb(0xc0c0c0); | ||||
|         if (m_shadow == Shadow::Raised) { | ||||
|             top_left_color = light_shade; | ||||
|             bottom_right_color = dark_shade; | ||||
|         } else if (m_shadow == Shadow::Sunken) { | ||||
|             top_left_color = dark_shade; | ||||
|             bottom_right_color = light_shade; | ||||
|         } else if (m_shadow == Shadow::Plain) { | ||||
|             top_left_color = dark_shade; | ||||
|             bottom_right_color = dark_shade; | ||||
|         } | ||||
|         Rect inner_container_frame_rect = rect().shrunken(2, 2); | ||||
|         painter.draw_line(inner_container_frame_rect.top_left(), inner_container_frame_rect.top_right(), top_left_color); | ||||
|         painter.draw_line(inner_container_frame_rect.bottom_left(), inner_container_frame_rect.bottom_right(), bottom_right_color); | ||||
|         painter.draw_line(inner_container_frame_rect.top_left().translated(0, 1), inner_container_frame_rect.bottom_left().translated(0, -1), top_left_color); | ||||
|         painter.draw_line(inner_container_frame_rect.top_right(), inner_container_frame_rect.bottom_right().translated(0, -1), bottom_right_color); | ||||
|     } | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling