| 
									
										
										
										
											2023-08-19 13:56:36 +02:00
										 |  |  | // Copyright 2020 Arthur Sonzogni. All rights reserved.
 | 
					
						
							|  |  |  | // Use of this source code is governed by the MIT license that can be found in
 | 
					
						
							|  |  |  | // the LICENSE file.
 | 
					
						
							| 
									
										
										
										
											2021-08-09 00:27:37 +02:00
										 |  |  | #include <chrono>                  // for operator""s, chrono_literals
 | 
					
						
							|  |  |  | #include <ftxui/dom/elements.hpp>  // for text, gauge, operator|, flex, hbox, Element
 | 
					
						
							| 
									
										
										
										
											2021-08-08 23:25:20 +02:00
										 |  |  | #include <ftxui/screen/screen.hpp>  // for Screen
 | 
					
						
							|  |  |  | #include <iostream>                 // for cout, endl, ostream
 | 
					
						
							| 
									
										
										
										
											2022-12-19 18:51:25 +01:00
										 |  |  | #include <string>  // for allocator, char_traits, operator+, operator<<, string, to_string, basic_string
 | 
					
						
							| 
									
										
										
										
											2021-08-08 23:25:20 +02:00
										 |  |  | #include <thread>  // for sleep_for
 | 
					
						
							| 
									
										
										
										
											2018-09-22 09:49:43 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-07 11:03:54 +01:00
										 |  |  | #include "ftxui/dom/node.hpp"      // for Render
 | 
					
						
							|  |  |  | #include "ftxui/screen/color.hpp"  // for ftxui
 | 
					
						
							| 
									
										
										
										
											2021-05-01 20:40:35 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-03 13:59:39 +02:00
										 |  |  | int main() { | 
					
						
							| 
									
										
										
										
											2019-01-12 15:00:08 +01:00
										 |  |  |   using namespace ftxui; | 
					
						
							| 
									
										
										
										
											2019-01-06 17:10:35 +01:00
										 |  |  |   using namespace std::chrono_literals; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   std::string reset_position; | 
					
						
							| 
									
										
										
										
											2020-03-22 17:33:38 +01:00
										 |  |  |   for (float percentage = 0.0f; percentage <= 1.0f; percentage += 0.002f) { | 
					
						
							| 
									
										
										
										
											2021-08-09 00:27:37 +02:00
										 |  |  |     std::string data_downloaded = | 
					
						
							|  |  |  |         std::to_string(int(percentage * 5000)) + "/5000"; | 
					
						
							| 
									
										
										
										
											2020-05-20 20:36:47 +02:00
										 |  |  |     auto document = hbox({ | 
					
						
							| 
									
										
										
										
											2021-08-09 00:27:37 +02:00
										 |  |  |         text("downloading:"), | 
					
						
							| 
									
										
										
										
											2020-05-20 20:36:47 +02:00
										 |  |  |         gauge(percentage) | flex, | 
					
						
							| 
									
										
										
										
											2021-08-09 00:27:37 +02:00
										 |  |  |         text(" " + data_downloaded), | 
					
						
							| 
									
										
										
										
											2020-05-20 20:36:47 +02:00
										 |  |  |     }); | 
					
						
							| 
									
										
										
										
											2019-01-06 17:10:35 +01:00
										 |  |  |     auto screen = Screen(100, 1); | 
					
						
							| 
									
										
										
										
											2020-05-20 21:23:59 +02:00
										 |  |  |     Render(screen, document); | 
					
						
							| 
									
										
										
										
											2021-03-21 22:54:39 +01:00
										 |  |  |     std::cout << reset_position; | 
					
						
							|  |  |  |     screen.Print(); | 
					
						
							| 
									
										
										
										
											2019-01-06 17:10:35 +01:00
										 |  |  |     reset_position = screen.ResetPosition(); | 
					
						
							| 
									
										
										
										
											2018-09-19 21:52:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-22 09:49:43 +02:00
										 |  |  |     std::this_thread::sleep_for(0.01s); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   std::cout << std::endl; | 
					
						
							| 
									
										
										
										
											2018-09-19 21:52:25 +02:00
										 |  |  | } |