halexandru11

Alpha 001

Nov 30th, 2021
591
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <conio.h>
  2. #include <graphics.h>
  3. #include <iostream>
  4. #include <vector>
  5.  
  6. enum NodeType {
  7.     NONE = 0,
  8.     START_NODE,
  9.     STOP_NODE,
  10.     INPUT_NODE,
  11.     OUTPUT_NODE,
  12.     ASSIGN_NODE,
  13.     CONDITIONAL_NODE
  14. };
  15.  
  16. struct Point {
  17.     int x, y;
  18. };
  19.  
  20. struct Node {
  21.     NodeType nodeType;
  22.     char* nodeData;
  23.  
  24.     Point coordonates;
  25.  
  26.     Node() {
  27.         nodeType = NONE;
  28.         nodeData = "Uninitialized node";
  29.         coordonates = Point{0, 0};
  30.     }
  31.  
  32.     void showNode() {
  33.         int tw = textwidth(nodeData);
  34.         int th = textheight(nodeData);
  35.         setfillstyle(4, CYAN);
  36.         bar(coordonates.x-6, coordonates.y-6, coordonates.x+tw+10, coordonates.y+th+10);
  37. //        setcolor(WHITE);
  38. //        rectangle(coordonates.x, coordonates.y, coordonates.x+tw+2, coordonates.y+th+2);
  39. //        setbkcolor(16);
  40.         outtextxy(coordonates.x+2, coordonates.y+2, nodeData);
  41.     }
  42. };
  43.  
  44.  
  45.  
  46. void line(Point A, Point B) {
  47.     line(A.x, A.y, B.x, B.y);
  48. }
  49.  
  50. const int WIDTH = 800;
  51. const int HEIGHT = 600;
  52.  
  53. int main() {
  54.     initwindow(WIDTH, HEIGHT, "InterSchem");
  55.  
  56.     int cnt = 1;
  57.     while(1) {
  58.         if(ismouseclick(WM_LBUTTONDOWN)) {
  59.             clearmouseclick(WM_LBUTTONDOWN);
  60.             Node* node = new Node();
  61.             node->coordonates = Point{mousex(), mousey()};
  62.             node->nodeData = "This node is just a node";
  63.             node->showNode();
  64.         }
  65.     }
  66.  
  67.     getch();
  68.     closegraph();
  69. }
  70.  
RAW Paste Data