Skip to content

Latest commit

 

History

History
11 lines (9 loc) · 3.38 KB

File metadata and controls

11 lines (9 loc) · 3.38 KB

PaintLine

პრობლემა:

Paint-ის მონაკვეთის ხატვის გაკეთება, ჯერ აჭერ მაუსს, ფიქსირდება ერთი წვერო, მერე
მაუსის მოძრაობისას მონაკვეთიც მოძრაობს რადგან მეორე წვერო არაა დაფიქსირებული და
კლიკით ფიქსირდება მეორე წვეროც.

პრობლემის გადაჭრის გზა

გავაკეთოთ boolean ტიპის ცვლადები, რომლებიც შეინახავენ ინფორმაციას იმის შესახებ, დავაფიქსირეთ თუ არა დასაწყისი და საბოლოო წერტილი, ასევე აღვწეროთ მონაკვეთიც, GLine ტიპის ობიექტი. თავდაპირველად, რა თქმა უნდა, ორივე ცვლადის მნიშნველობაა false. მაუსზე დაკლიკვის შემთხვევაში, უნდა შევამოწმოთ, რომელი წერტილი დაფიქსირდა. იმ შემთხვევაში თუ საწყისი წერტილისთვის განკუთვნილი ცვლადის startClicked-ის მნიშვნელობაა false, ნიშნავს, რომ ახლა ხდება საწყისი წერტილის არჩევა. კლიკის შემთხვევაში კანვასზე დავამატოთ აღწერილი მონაკვეთი საწყისი და საბოლოო ერთი და იმავე კოორდინატებით, კლიკის ადგილზე. ახლა უკვე უნდა ავსახოთ მონაკვეთი, რომელიც იმოძრავებს კურსორთან ერთად. ეს ხდება მხოლოდ იმ შემთხვევაში, როცა საწყისი წერტილი დაფიქსირებულია, ხოლო საბოლოო არა, სწორედ ასეთ დროს mouseMoved მეთოდში თანდათან ვცვალოთ მონაკვეთის მეორე ბოლოს კოორდინატები. იმ შემთხვევაში თუ კლიკი მოხდა, startClicked-ის მნიშვნელობაა true, ხოლო endClicked-ის მნიშვნელობაა false, ნიშნავს, რომ ფიქსირდება საბოლოო წერტილი. შესაბამისად შევცვლით ცვლადის მნიშვნელობას და მონაკვეთი გაჩერდება შესაბამის პოზიციაზე mouseMoved მეთოდში დაწერილი კოდის მიხედვით.