mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-10-31 18:48:11 +08:00 
			
		
		
		
	Add hflow.
This commit is contained in:
		| @@ -73,7 +73,7 @@ class MyComponent : public Component { | ||||
|         separator(), | ||||
|         Render(L"radiobox", radiobox), | ||||
|         separator(), | ||||
|         Render(L"input", input) | ||||
|         Render(L"input", input) | size(WIDTH, EQUAL, 20) | ||||
|       ) | border; | ||||
|   } | ||||
| }; | ||||
|   | ||||
| @@ -16,4 +16,6 @@ example(style_dim) | ||||
| example(style_gallery) | ||||
| example(style_inverted) | ||||
| example(style_underlined) | ||||
| example(size) | ||||
| example(vbox_hbox) | ||||
| example(hflow) | ||||
|   | ||||
							
								
								
									
										51
									
								
								examples/dom/hflow.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								examples/dom/hflow.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| #include "ftxui/screen/screen.hpp" | ||||
| #include "ftxui/screen/string.hpp" | ||||
| #include "ftxui/dom/elements.hpp" | ||||
| #include <iostream> | ||||
|  | ||||
| int main(int argc, const char *argv[]) | ||||
| { | ||||
|   using namespace ftxui; | ||||
|   auto make_box = [](size_t dimx, size_t dimy) { | ||||
|     std::wstring title = to_wstring(dimx) + L"x" + to_wstring(dimy); | ||||
|     return | ||||
|       window( | ||||
|         text(title) | hcenter | bold, | ||||
|         text(L"content") | hcenter | dim | ||||
|       ) | size(WIDTH, EQUAL, dimx) | ||||
|         | size(HEIGHT, EQUAL, dimy) | ||||
|         ; | ||||
|   }; | ||||
|  | ||||
|   auto document = | ||||
|     hflow( | ||||
|       make_box(7,7), | ||||
|       make_box(7,5), | ||||
|       make_box(5,7), | ||||
|       make_box(10,4), | ||||
|       make_box(10,4), | ||||
|       make_box(10,4), | ||||
|       make_box(10,4), | ||||
|       make_box(11,4), | ||||
|       make_box(11,4), | ||||
|       make_box(11,4), | ||||
|       make_box(11,4), | ||||
|       make_box(12,4), | ||||
|       make_box(12,5), | ||||
|       make_box(12,4), | ||||
|       make_box(13,4), | ||||
|       make_box(13,3), | ||||
|       make_box(13,3), | ||||
|       make_box(10,3) | ||||
|     ) | size(WIDTH, GREATER_THAN, 20) | ||||
|       | border | ||||
|       | size(HEIGHT, GREATER_THAN, 30) | ||||
|       | size(WIDTH, LESS_THAN, 50) | ||||
|       ; | ||||
|  | ||||
|   auto screen = Screen::TerminalOutput(document); | ||||
|   Render(screen, document.get()); | ||||
|   std::cout << screen.ToString() << std::endl; | ||||
|  | ||||
|   return 0; | ||||
| } | ||||
							
								
								
									
										30
									
								
								examples/dom/size.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								examples/dom/size.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| #include "ftxui/screen/screen.hpp" | ||||
| #include "ftxui/screen/string.hpp" | ||||
| #include "ftxui/dom/elements.hpp" | ||||
| #include <iostream> | ||||
|  | ||||
| int main(int argc, const char *argv[]) | ||||
| { | ||||
|   using namespace ftxui; | ||||
|   auto make_box = [](const std::wstring title) { | ||||
|     return | ||||
|       window( | ||||
|         text(title) | hcenter | bold, | ||||
|         text(L"content") | hcenter | dim | ||||
|       ); | ||||
|   }; | ||||
|  | ||||
|   Elements content; | ||||
|   for(int x = 3; x<30; ++x) { | ||||
|     content.push_back( | ||||
|       make_box(to_wstring(x)) | ||||
|         | size(WIDTH, EQUAL, x) | ||||
|     ); | ||||
|   } | ||||
|   auto document = hbox(std::move(content)); | ||||
|   auto screen = Screen::FitDocument(document); | ||||
|   Render(screen, document.get()); | ||||
|   std::cout << screen.ToString() << std::endl; | ||||
|  | ||||
|   return 0; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Arthur Sonzogni
					Arthur Sonzogni