mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-11-04 05:28:15 +08:00 
			
		
		
		
	Introduce gridbox. (#190)
Introduce gridbox. Similar to hbox and vbox, this component combine both into a grid.
This commit is contained in:
		
							
								
								
									
										49
									
								
								examples/dom/gridbox.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								examples/dom/gridbox.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
#include <stdio.h>                  // for getchar
 | 
			
		||||
#include <ftxui/dom/elements.hpp>   // for filler, text, hbox, vbox
 | 
			
		||||
#include <ftxui/screen/screen.hpp>  // for Full, Screen
 | 
			
		||||
#include <memory>                   // for allocator
 | 
			
		||||
 | 
			
		||||
#include "ftxui/dom/node.hpp"    // for Render
 | 
			
		||||
#include "ftxui/screen/box.hpp"  // for ftxui
 | 
			
		||||
 | 
			
		||||
int main(int argc, const char* argv[]) {
 | 
			
		||||
  using namespace ftxui;
 | 
			
		||||
  auto cell = [](const char* t) { return text(t) | border; };
 | 
			
		||||
  auto document =  //
 | 
			
		||||
      gridbox({
 | 
			
		||||
          {
 | 
			
		||||
              cell("north-west"),
 | 
			
		||||
              cell("north"),
 | 
			
		||||
              cell("north-east"),
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
              cell("center-west"),
 | 
			
		||||
              gridbox({
 | 
			
		||||
                  {
 | 
			
		||||
                      cell("center-north-west"),
 | 
			
		||||
                      cell("center-north-east"),
 | 
			
		||||
                  },
 | 
			
		||||
                  {
 | 
			
		||||
                      cell("center-south-west"),
 | 
			
		||||
                      cell("center-south-east"),
 | 
			
		||||
                  },
 | 
			
		||||
              }),
 | 
			
		||||
              cell("center-east"),
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
              cell("south-west"),
 | 
			
		||||
              cell("south"),
 | 
			
		||||
              cell("south-east"),
 | 
			
		||||
          },
 | 
			
		||||
      });
 | 
			
		||||
  auto screen = Screen::Create(Dimension::Fit(document));
 | 
			
		||||
  Render(screen, document);
 | 
			
		||||
  screen.Print();
 | 
			
		||||
  getchar();
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Copyright 2021 Arthur Sonzogni. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by the MIT license that can be found in
 | 
			
		||||
// the LICENSE file.
 | 
			
		||||
		Reference in New Issue
	
	Block a user