Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Smalltalk
Перезагрузить страницу Squeak. Рисование в окне как реализовать
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
imported_NIK_ imported_NIK_ вне форума
Новичок
 
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.12.2009
По умолчанию Squeak. Рисование в окне как реализовать - 04.12.2009, 03:59

Здравствуйте.

Создаю экземпляр SystemWindow
Код:
window:=SystemWindow new.
window openInWorld.
window position:10@10.
window setLabel: 'Model'.
window setWindowColor: Color yellow.
Как рисовать в этом окне, к примеру тем же Pen'ом?
Буду рад ответам, спасибо.
Ответить с цитированием
  (#2 (permalink)) Старый
danio danio вне форума
Member
 
Сообщений: 366
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2004
По умолчанию 04.12.2009, 17:00

Pen рисует поверх формы, поэтому в SystemWindow нужно встроить форму и потом уже рисовать. В образе есть SketchMorph который и является оберткой вокруг Form и его можно взять в качестве примера.

Например, можно делать так:

Код:
window:=SystemWindow new.
window openInWorld.
window position:10@10.
window setLabel: 'Model'.
window setWindowColor: Color yellow.


sm := SketchMorph "Создается SketchMorph"
               withForm: "оборачивающий форму"
                    (Form extent: window extent). "размер которой, равен размеру панели системного окна"

window  "в системное окно "
    addMorph: sm   " "добавляется полученный SketchMorph   "
    frame: (0@0 extent: 1@1). "занимая его полностью: 0@0 и 1@1 - относительное смещение левого вернего и правого нижнего углов"

pen := sm penOnMyForm. "SketchMorph может сразу дать Pen поверх своей формы"

   pen defaultNib: 1. "3 строки рисования спирали из примера Pen>>example"
   pen combinationRule: Form over.
   1 to: 100 do: [:i | pen go: i*4. pen turn: 89].
    
sm revealPenStrokes. "после рисования с помощью Pen надо обновить прорисованное"
Ответить с цитированием
  (#3 (permalink)) Старый
imported_NIK_ imported_NIK_ вне форума
Новичок
 
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.12.2009
По умолчанию 05.12.2009, 03:36

Спасибо.
Ответить с цитированием
  (#4 (permalink)) Старый
imported_NIK_ imported_NIK_ вне форума
Новичок
 
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.12.2009
По умолчанию 05.12.2009, 18:52

danio, пытаюсь изменить цвет pen'a
Код:
 pen := sm penOnMyForm. "SketchMorph может сразу дать Pen поверх своей формы"
pen color: Color red.
Но цвет рисунка не меняется, более того линии как-бы теряют в качестве - становятся не четкими...

В чем трабла?
Ответить с цитированием
  (#5 (permalink)) Старый
danio danio вне форума
Member
 
Сообщений: 366
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2004
По умолчанию 05.12.2009, 19:40

Вызов Form class>>extent: по-умолчанию создает черно-белую форму (битовая глубина 1):

Код:
extent: extentPoint
    "Answer an instance of me with a blank bitmap of depth 1."

    ^ self extent: extentPoint depth: 1
В пример выше надо поставить вот так, чтобы рисовать в цвете:

Код:
  (Form extent: window extent depth: Display depth).
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Squeak. Рисование по таймеру imported_NIK_ Smalltalk 3 14.12.2009 23:05
Русский язык в Squeak danio Smalltalk 12 30.08.2008 01:01
Работа с сетью в Squeak rv82 Smalltalk 2 11.06.2008 07:57
Русификация Squeak Smalltalk vk Smalltalk 11 06.02.2008 23:05
Игра "Жизнь" и рисование в окне EiTRoN WinAPI 0 04.11.2006 21:29
Рисование в немодальном окне ARM Visual C++ 6 24.08.2006 17:31
Дифференцирование в Squeak steel_rat Smalltalk 13 19.06.2006 11:14
Squeak как с ним работать Daniq Smalltalk 7 28.03.2005 15:47
Рисование функции как реализовать Red_Warrior Smalltalk 1 27.11.2004 23:12
Виртуальный десктоп для Squeak vk Smalltalk 0 15.05.2004 20:19
Циклы в Squeak как их делать Daredevil Smalltalk 35 23.01.2004 15:11
Можно ли изменить цвет скролла не в окне как бы, а в окне-меню с выбором Anonymous DHTML, JavaScript, VBScript 1 05.09.2003 19:58



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов