You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.6 KiB

  1. /***************************************************************/
  2. /* Edition des Modules: Structures et variables de gestion des */
  3. /* fonctions de "DRAG" des segments de piste */
  4. /***************************************************************/
  5. /*** Class to handle a list of track segments to drag ***/
  6. class DRAG_SEGM
  7. {
  8. public:
  9. DRAG_SEGM * Pnext; /* Pointeur de chainage */
  10. TRACK * m_Segm; /* pointeur sur le segment a "dragger */
  11. D_PAD * m_Pad_Start; /* pointeur sur le Pad origine si origine segment sur pad */
  12. D_PAD * m_Pad_End; /* pointeur sur le Pad fin si fin segment sur pad */
  13. int m_Flag; /* indicateur divers */
  14. private:
  15. wxPoint m_StartInitialValue;
  16. wxPoint m_EndInitialValue; /* For abort: initial m_Start and m_End values for m_Segm */
  17. public:
  18. DRAG_SEGM(TRACK * segm);
  19. ~DRAG_SEGM();
  20. void SetInitialValues(void);
  21. };
  22. /* Variables */
  23. eda_global DRAG_SEGM * g_DragSegmentList; /* pointe le debut de la liste
  24. des structures DRAG_SEGM */
  25. /* routines specifiques */
  26. void Dessine_Segments_Dragges(WinEDA_DrawPanel * panel, wxDC * DC);
  27. void Build_Drag_Liste(WinEDA_DrawPanel * panel, wxDC * DC, MODULE * Module);
  28. void Build_1_Pad_SegmentsToDrag(WinEDA_DrawPanel * panel, wxDC * DC, D_PAD * PtPad );
  29. void Collect_TrackSegmentsToDrag(WinEDA_DrawPanel * panel, wxDC * DC,
  30. wxPoint & point, int MasqueLayer, int net_code);
  31. void EraseDragListe(void);
  32. void AddSegmentToDragList(WinEDA_DrawPanel * panel, wxDC * DC,
  33. int flag, TRACK * Track); /* Add the segment"Track" to the drag list, and erase it from screen
  34. flag = STARTPOINT (if the point to drag is the start point of Track) or ENDPOINT */