diff options
Diffstat (limited to 'kscreensaver/xsavers')
27 files changed, 0 insertions, 4936 deletions
diff --git a/kscreensaver/xsavers/CMakeLists.txt b/kscreensaver/xsavers/CMakeLists.txt deleted file mode 100644 index e636ac18..00000000 --- a/kscreensaver/xsavers/CMakeLists.txt +++ /dev/null @@ -1,52 +0,0 @@ -################################################# -# -# (C) 2011 Golubev Alexander -# fatzer2 (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_BINARY_DIR} - ${TQT_INCLUDE_DIRS} - ${TDE_INCLUDE_DIR} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - -##### shared source ########################## - -set( BASE_SRCS main.cpp demowin.cpp saver.cpp helpers.cpp ) -set( XL_SRCS xlock.cpp ) - -##### kswarm ################################# - -tde_add_executable( kswarm.kss AUTOMOC - SOURCES swarm.cpp ${BASE_SRCS} ${XL_SRCS} - LINK tdeui-shared - DESTINATION ${BIN_INSTALL_DIR} -) - -install( FILES KSwarm.desktop DESTINATION ${APPS_INSTALL_DIR}/System/ScreenSavers ) - -##### kswarm ################################# - -if( WITH_OPENGL ) - include_directories( ${OPENGL_INCLUDE_DIRS} ) - link_directories( ${OPENGL_LIBRARY_DIRS} ) - tde_add_executable( kspace.kss AUTOMOC - SOURCES space.cpp ${BASE_SRCS} ${XL_SRCS} - LINK tdeui-shared ${OPENGL_LIBRARIES} - DESTINATION ${BIN_INSTALL_DIR} - ) - - install( FILES KSpace.desktop DESTINATION ${APPS_INSTALL_DIR}/System/ScreenSavers ) -endif( WITH_OPENGL ) - - diff --git a/kscreensaver/xsavers/KSpace.desktop b/kscreensaver/xsavers/KSpace.desktop deleted file mode 100644 index 195d49ad..00000000 --- a/kscreensaver/xsavers/KSpace.desktop +++ /dev/null @@ -1,250 +0,0 @@ -[Desktop Entry] -Exec=kspace.kss -Icon=kscreensaver -Type=Application -Actions=Setup;InWindow;Root; -X-TDE-Category=OpenGL Screen Savers -X-TDE-Type=OpenGL -Name=Space (GL) -Name[af]=Spasie (Gl) -Name[bg]=Космос (GL) -Name[br]=Egor (GL) -Name[ca]=Espai (GL) -Name[cs]=Vesmír (GL) -Name[cy]=Gofod (GL) -Name[da]=Rum (GL) -Name[de]=Weltraum -Name[el]=Διάστημα (GL) -Name[es]=Espacio (GL) -Name[et]=Kosmos (GL) -Name[eu]=Espazioa (GL) -Name[fa]=فاصله (GL) -Name[fi]=Avaruus (GL) -Name[fo]=Rúmd (GL) -Name[fr]=Espace (GL) -Name[fy]=Romte (GL) -Name[gl]=Espazo (GL) -Name[he]=חלל (GL) -Name[hi]=अंतरिक्ष (जीएल) -Name[hu]=Világűr (OpenGL) -Name[is]=Geimur (GL) -Name[it]=Spazio (GL) -Name[ja]=宇宙 (GL) -Name[ka]=კოსმოსი (GL) -Name[lt]=Visata (GL) -Name[lv]=Kosmoss (GL) -Name[mk]=Вселена (GL) -Name[mt]=Spazju (GL) -Name[nb]=Rommet (GL) -Name[nds]=Weltruum (GL) -Name[ne]=खाली ठाउँ (GL) -Name[nl]=Ruimte (GL) -Name[nn]=Rom (GL) -Name[pl]=Przestrzeń (GL) -Name[pt]=Espaço (GL) -Name[pt_BR]=Espaço (GL) -Name[ro]=Spaţiu (GL) -Name[ru]=Космос (GL) -Name[sk]=Vesmír (GL) -Name[sl]=Vesolje (GL) -Name[sr]=Свемир (GL) -Name[sr@Latn]=Svemir (GL) -Name[sv]=Rymden (GL) -Name[ta]=வெற்று(GL) -Name[tg]=Кайҳон (GL) -Name[th]=อวกาศ (GL) -Name[tr]=Uzay (GL) -Name[uk]=Всесвіт (GL) -Name[uz]=Koinot (GL) -Name[uz@cyrillic]=Коинот (GL) -Name[ven]=Tshikhala (GL) -Name[vi]=Vũ trụ (GL) -Name[xh]=Isithuba (GL) -Name[zh_CN]=星际空间(GL) -Name[zh_TW]=太空 (GL) -Name[zu]=Isikhala (GL) - -[Desktop Action Setup] -Exec=kspace.kss -setup -Name=Setup... -Name[af]=Opstelling... -Name[bg]=Настройки... -Name[br]=Kefluniadur ... -Name[bs]=Postavke... -Name[ca]=Arranjament... -Name[cs]=Nastavení... -Name[cy]=Gosod ... -Name[da]=Opsætning... -Name[de]=Einrichtung ... -Name[el]=Ρύθμιση... -Name[eo]=Agordo... -Name[es]=Configuración... -Name[et]=Seadistamine... -Name[eu]=Konfiguratu... -Name[fa]=برپایی... -Name[fi]=Asetukset... -Name[fo]=Uppseting... -Name[fr]=Configuration... -Name[fy]=Opset... -Name[ga]=Cumraigh... -Name[gl]=Configuración... -Name[he]=הגדרות... -Name[hi]=सेटअप... -Name[hu]=Beállítás... -Name[is]=Stillingar... -Name[it]=Impostazioni... -Name[ja]=設定... -Name[ka]=გამართვა... -Name[lt]=Sąranka ... -Name[lv]=Uzstādīšana... -Name[mk]=Поставување... -Name[ms]=Setkan... -Name[mt]=Konfigurazzjoni... -Name[nb]=Innstillinger … -Name[nds]=Instellen... -Name[ne]=सेटअप... -Name[nl]=Instellingen... -Name[nn]=Oppsett … -Name[nso]=Beakanya... -Name[pa]=ਸੈਟਅੱਪ... -Name[pl]=Ustawienia... -Name[pt]=Configurar... -Name[pt_BR]=Configurar... -Name[ro]=Setează... -Name[ru]=Настройка... -Name[rw]=Iboneza... -Name[sk]=Nastavenie... -Name[sl]=Nastavi ... -Name[sr]=Подеси... -Name[sr@Latn]=Podesi... -Name[sv]=Inställningar... -Name[ta]=அமைப்பு... -Name[tg]=Барпосозӣ... -Name[th]=ติดตั้ง... -Name[tr]=Kurulum... -Name[uk]=Встановити... -Name[uz]=Oʻrnatish -Name[uz@cyrillic]=Ўрнатиш -Name[ven]=Vhekanya... -Name[vi]=Thiết lập... -Name[xh]=Iyacwangciswa... -Name[zh_CN]=设置... -Name[zh_TW]=設定... -Name[zu]=Iyalungiselela... -Icon=kscreensaver - -[Desktop Action InWindow] -Exec=kspace.kss -window-id %w -Name=Display in Specified Window -Name[bg]=Стартиране в избран прозорец -Name[br]=Diskwel er prenestr spisaet -Name[bs]=Prikaži u navedenom prozoru -Name[ca]=Mostra a la finestra especificada -Name[cs]=Zobrazit v určeném okně -Name[cy]=Dangos mewn Ffenestr Benodol -Name[da]=Visning i angivet vindue -Name[de]=In bestimmten Fenster anzeigen -Name[el]=Προβολή στο καθορισμένο παράθυρο -Name[eo]=Montri en indikita fenestro -Name[es]=Mostrar en la ventana especificada -Name[et]=Määratud aknas näitamine -Name[eu]=Bistaratu zehaztutako lehioan -Name[fa]=نمایش در پنجرۀ مشخصشده -Name[fi]=Näytä määrätyssä ikkunassa -Name[fr]=Affichage dans la fenêtre spécifiée -Name[fy]=Werjefte yn in definiearre finster -Name[ga]=Taispeáin san Fhuinneog Sonraithe -Name[gl]=Mostrar na fiestra indicada -Name[he]=הצג בחלון המצוין -Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें -Name[hu]=Megjelenítés a megadott ablakban -Name[is]=Birta í völdum glugga -Name[it]=Mostra nella finestra specificata -Name[ja]=特定のウィンドウで表示 -Name[ka]=ჩვენება მითითებულ ფანჯარაში -Name[lt]=Rodyti nurodytame lange -Name[mk]=Прикажи во наведениот прозорец -Name[ms]=Papar dalam Tetingkap Yang Dinyatakan -Name[nb]=Vis i angitt vindu -Name[nds]=In utsöcht Finster wiesen -Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन -Name[nl]=Weergeven in een opgegeven venster -Name[nn]=Vis i oppgjeve vindauge -Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ -Name[pl]=Wyświetl w zadanym oknie -Name[pt]=Mostrar na Janela Indicada -Name[pt_BR]=Mostrar em janela especificada -Name[ro]=Afişează în fereastra specificată -Name[ru]=Показывать в указанном окне -Name[rw]=Kwerekana mu Idirishya Ryihariye -Name[sk]=Zobraziť v zadanom okne -Name[sl]=Prikaz v določenemu oknu -Name[sr]=Прикажи у наведеном прозору -Name[sr@Latn]=Prikaži u navedenom prozoru -Name[sv]=Visa i angivet fönster -Name[ta]=குறித்த சாளரத்தில் காட்டு -Name[tg]=Дар тирезаи нишондода намоиш намоед -Name[tr]=Belirtilen Pencerede Göster -Name[uk]=Відобразити у вказаному вікні -Name[vi]=Hiển thị trong Cửa sổ Đã định -Name[zh_CN]=在指定的窗口中显示 -Name[zh_TW]=在指定的視窗中顯示 -NoDisplay=true - -[Desktop Action Root] -Exec=kspace.kss -root -Name=Display in Root Window -Name[bg]=Стартиране в главния прозорец -Name[br]=Diskwel er prenestr gwrizienn -Name[bs]=Prikaži u korijenskom prozoru -Name[ca]=Mostra a la finestra arrel -Name[cs]=Zobrazit na pozadí plochy -Name[cy]=Dangos mewn Ffenestr Wraidd -Name[da]=Visning i root-vindue -Name[de]=In Hintergrundfenster anzeigen -Name[el]=Προβολή στο βασικό παράθυρο -Name[eo]=Montri en radika fenestro -Name[es]=Mostrar en la ventana raíz -Name[et]=Juuraknas näitamine -Name[eu]=Bistaratu erro lehioan -Name[fa]=نمایش در پنجرۀ ریشه -Name[fi]=Näytä juuri-ikkunassa -Name[fr]=Affichage dans la fenêtre racine -Name[fy]=Werjefte yn haadfinster -Name[ga]=Taispeáin sa bhFréamhfhuinneog -Name[gl]=Mostrar na fiestra raiz -Name[he]=הצג בחלון השורש -Name[hi]=रूट विंडो में प्रदर्शित करें -Name[hu]=Megjelenítés a gyökérablakban -Name[is]=Birta í rótarglugganum -Name[it]=Mostra sullo sfondo -Name[ja]=ルートウィンドウで表示 -Name[ka]=ჩვენება ძირითად ფანჯარაში -Name[lt]=Rodyti root lange -Name[mk]=Прикажи во коренскиот прозорец -Name[ms]=Papar dalam Tetingkap Root -Name[nb]=Vis i root-vindu -Name[nds]=In Hööftfinster wiesen -Name[ne]=मूल सञ्झ्यालमा प्रदर्शन -Name[nl]=Weergeven in hoofdvenster -Name[nn]=Vis i rotvindauget -Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ -Name[pl]=Wyświetl w oknie głównym -Name[pt]=Mostrar na Janela de Fundo -Name[pt_BR]=Mostrar na janela raiz -Name[ro]=Afişează în fereastra rădăcină -Name[ru]=Показывать в корневом окне -Name[rw]=Kwerekana mu Idirishya Umuzi -Name[sk]=Zobraziť v koreňovom okne -Name[sl]=Prikaz v korenskem oknu -Name[sr]=Прикажи у главном (root) прозору -Name[sr@Latn]=Prikaži u glavnom (root) prozoru -Name[sv]=Visa i rotfönstret -Name[ta]=ஆரம்ப சாளரத்தில் காட்டு -Name[tg]=Дар тирезаи решагӣ намоиш намоед -Name[tr]=Kök Pencerede Göster -Name[uk]=Відобразити в кореневому вікні -Name[vi]=Hiển thị trong Cửa sổ Gốc -Name[zh_CN]=在根窗口中显示 -Name[zh_TW]=在根視窗中顯示 -NoDisplay=true diff --git a/kscreensaver/xsavers/KSwarm.desktop b/kscreensaver/xsavers/KSwarm.desktop deleted file mode 100644 index eb156a85..00000000 --- a/kscreensaver/xsavers/KSwarm.desktop +++ /dev/null @@ -1,245 +0,0 @@ -[Desktop Entry] -Exec=kswarm.kss -Icon=kscreensaver -Type=Application -Actions=Setup;InWindow;Root; -X-TDE-Category=Flying Things -Name=Swarm -Name[af]=Swerm -Name[bg]=Рояк -Name[br]=Hed-gwenan -Name[bs]=Roj -Name[ca]=Eixam -Name[cs]=Roj -Name[cy]=Haid -Name[da]=Sværm -Name[de]=Schwarm -Name[el]=Σμήνος -Name[es]=Enjambre -Name[et]=Sülem -Name[eu]=Erlekumea -Name[fa]=ازدحام -Name[fi]=Hyönteiset -Name[fr]=Fourmillement -Name[fy]=Swaarm -Name[gl]=Enxame -Name[he]=נחיל דבורים -Name[hi]=मत्स्य गुच्छ -Name[hu]=Méhraj -Name[is]=Sveimur -Name[it]=Sciame -Name[ja]=スワーム -Name[ka]=ფუტკრის ნაყარი -Name[lt]=Spiečius -Name[lv]=Spiets -Name[mk]=Рој -Name[ms]=Paya -Name[mt]=Ferħ naħal -Name[nb]=Sverm -Name[ne]=स्वार्म -Name[nl]=Zwermen -Name[nn]=Sverm -Name[pl]=Rój -Name[pt]=Enxame -Name[pt_BR]=Enxame -Name[ro]=Roi -Name[ru]=Пчелиный рой -Name[sl]=Roj -Name[sr]=Рој -Name[sr@Latn]=Roj -Name[sv]=Svärm -Name[ta]=புயல் -Name[tg]=Оилаи занбурони асал -Name[th]=หนอนผึ้ง -Name[tr]=Sürü -Name[uk]=Рій -Name[ven]=Gogo -Name[vi]=Bầy ong -Name[xh]=Unyuko usebenzisa imilenze neengalo -Name[zh_CN]=蜂群 -Name[zh_TW]=蜂群 - -[Desktop Action Setup] -Exec=kswarm.kss -setup -Name=Setup... -Name[af]=Opstelling... -Name[bg]=Настройки... -Name[br]=Kefluniadur ... -Name[bs]=Postavke... -Name[ca]=Arranjament... -Name[cs]=Nastavení... -Name[cy]=Gosod ... -Name[da]=Opsætning... -Name[de]=Einrichtung ... -Name[el]=Ρύθμιση... -Name[eo]=Agordo... -Name[es]=Configuración... -Name[et]=Seadistamine... -Name[eu]=Konfiguratu... -Name[fa]=برپایی... -Name[fi]=Asetukset... -Name[fo]=Uppseting... -Name[fr]=Configuration... -Name[fy]=Opset... -Name[ga]=Cumraigh... -Name[gl]=Configuración... -Name[he]=הגדרות... -Name[hi]=सेटअप... -Name[hu]=Beállítás... -Name[is]=Stillingar... -Name[it]=Impostazioni... -Name[ja]=設定... -Name[ka]=გამართვა... -Name[lt]=Sąranka ... -Name[lv]=Uzstādīšana... -Name[mk]=Поставување... -Name[ms]=Setkan... -Name[mt]=Konfigurazzjoni... -Name[nb]=Innstillinger … -Name[nds]=Instellen... -Name[ne]=सेटअप... -Name[nl]=Instellingen... -Name[nn]=Oppsett … -Name[nso]=Beakanya... -Name[pa]=ਸੈਟਅੱਪ... -Name[pl]=Ustawienia... -Name[pt]=Configurar... -Name[pt_BR]=Configurar... -Name[ro]=Setează... -Name[ru]=Настройка... -Name[rw]=Iboneza... -Name[sk]=Nastavenie... -Name[sl]=Nastavi ... -Name[sr]=Подеси... -Name[sr@Latn]=Podesi... -Name[sv]=Inställningar... -Name[ta]=அமைப்பு... -Name[tg]=Барпосозӣ... -Name[th]=ติดตั้ง... -Name[tr]=Kurulum... -Name[uk]=Встановити... -Name[uz]=Oʻrnatish -Name[uz@cyrillic]=Ўрнатиш -Name[ven]=Vhekanya... -Name[vi]=Thiết lập... -Name[xh]=Iyacwangciswa... -Name[zh_CN]=设置... -Name[zh_TW]=設定... -Name[zu]=Iyalungiselela... -Icon=kscreensaver - -[Desktop Action InWindow] -Exec=kswarm.kss -window-id %w -Name=Display in Specified Window -Name[bg]=Стартиране в избран прозорец -Name[br]=Diskwel er prenestr spisaet -Name[bs]=Prikaži u navedenom prozoru -Name[ca]=Mostra a la finestra especificada -Name[cs]=Zobrazit v určeném okně -Name[cy]=Dangos mewn Ffenestr Benodol -Name[da]=Visning i angivet vindue -Name[de]=In bestimmten Fenster anzeigen -Name[el]=Προβολή στο καθορισμένο παράθυρο -Name[eo]=Montri en indikita fenestro -Name[es]=Mostrar en la ventana especificada -Name[et]=Määratud aknas näitamine -Name[eu]=Bistaratu zehaztutako lehioan -Name[fa]=نمایش در پنجرۀ مشخصشده -Name[fi]=Näytä määrätyssä ikkunassa -Name[fr]=Affichage dans la fenêtre spécifiée -Name[fy]=Werjefte yn in definiearre finster -Name[ga]=Taispeáin san Fhuinneog Sonraithe -Name[gl]=Mostrar na fiestra indicada -Name[he]=הצג בחלון המצוין -Name[hi]=निर्दिष्ट विंडो में प्रदर्शित करें -Name[hu]=Megjelenítés a megadott ablakban -Name[is]=Birta í völdum glugga -Name[it]=Mostra nella finestra specificata -Name[ja]=特定のウィンドウで表示 -Name[ka]=ჩვენება მითითებულ ფანჯარაში -Name[lt]=Rodyti nurodytame lange -Name[mk]=Прикажи во наведениот прозорец -Name[ms]=Papar dalam Tetingkap Yang Dinyatakan -Name[nb]=Vis i angitt vindu -Name[nds]=In utsöcht Finster wiesen -Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रदर्शन -Name[nl]=Weergeven in een opgegeven venster -Name[nn]=Vis i oppgjeve vindauge -Name[pa]=ਦੱਸੇ ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ -Name[pl]=Wyświetl w zadanym oknie -Name[pt]=Mostrar na Janela Indicada -Name[pt_BR]=Mostrar em janela especificada -Name[ro]=Afişează în fereastra specificată -Name[ru]=Показывать в указанном окне -Name[rw]=Kwerekana mu Idirishya Ryihariye -Name[sk]=Zobraziť v zadanom okne -Name[sl]=Prikaz v določenemu oknu -Name[sr]=Прикажи у наведеном прозору -Name[sr@Latn]=Prikaži u navedenom prozoru -Name[sv]=Visa i angivet fönster -Name[ta]=குறித்த சாளரத்தில் காட்டு -Name[tg]=Дар тирезаи нишондода намоиш намоед -Name[tr]=Belirtilen Pencerede Göster -Name[uk]=Відобразити у вказаному вікні -Name[vi]=Hiển thị trong Cửa sổ Đã định -Name[zh_CN]=在指定的窗口中显示 -Name[zh_TW]=在指定的視窗中顯示 -NoDisplay=true - -[Desktop Action Root] -Exec=kswarm.kss -root -Name=Display in Root Window -Name[bg]=Стартиране в главния прозорец -Name[br]=Diskwel er prenestr gwrizienn -Name[bs]=Prikaži u korijenskom prozoru -Name[ca]=Mostra a la finestra arrel -Name[cs]=Zobrazit na pozadí plochy -Name[cy]=Dangos mewn Ffenestr Wraidd -Name[da]=Visning i root-vindue -Name[de]=In Hintergrundfenster anzeigen -Name[el]=Προβολή στο βασικό παράθυρο -Name[eo]=Montri en radika fenestro -Name[es]=Mostrar en la ventana raíz -Name[et]=Juuraknas näitamine -Name[eu]=Bistaratu erro lehioan -Name[fa]=نمایش در پنجرۀ ریشه -Name[fi]=Näytä juuri-ikkunassa -Name[fr]=Affichage dans la fenêtre racine -Name[fy]=Werjefte yn haadfinster -Name[ga]=Taispeáin sa bhFréamhfhuinneog -Name[gl]=Mostrar na fiestra raiz -Name[he]=הצג בחלון השורש -Name[hi]=रूट विंडो में प्रदर्शित करें -Name[hu]=Megjelenítés a gyökérablakban -Name[is]=Birta í rótarglugganum -Name[it]=Mostra sullo sfondo -Name[ja]=ルートウィンドウで表示 -Name[ka]=ჩვენება ძირითად ფანჯარაში -Name[lt]=Rodyti root lange -Name[mk]=Прикажи во коренскиот прозорец -Name[ms]=Papar dalam Tetingkap Root -Name[nb]=Vis i root-vindu -Name[nds]=In Hööftfinster wiesen -Name[ne]=मूल सञ्झ्यालमा प्रदर्शन -Name[nl]=Weergeven in hoofdvenster -Name[nn]=Vis i rotvindauget -Name[pa]=Root ਝਰੋਖੇ ਵਿੱਚ ਵੇਖਾਓ -Name[pl]=Wyświetl w oknie głównym -Name[pt]=Mostrar na Janela de Fundo -Name[pt_BR]=Mostrar na janela raiz -Name[ro]=Afişează în fereastra rădăcină -Name[ru]=Показывать в корневом окне -Name[rw]=Kwerekana mu Idirishya Umuzi -Name[sk]=Zobraziť v koreňovom okne -Name[sl]=Prikaz v korenskem oknu -Name[sr]=Прикажи у главном (root) прозору -Name[sr@Latn]=Prikaži u glavnom (root) prozoru -Name[sv]=Visa i rotfönstret -Name[ta]=ஆரம்ப சாளரத்தில் காட்டு -Name[tg]=Дар тирезаи решагӣ намоиш намоед -Name[tr]=Kök Pencerede Göster -Name[uk]=Відобразити в кореневому вікні -Name[vi]=Hiển thị trong Cửa sổ Gốc -Name[zh_CN]=在根窗口中显示 -Name[zh_TW]=在根視窗中顯示 -NoDisplay=true diff --git a/kscreensaver/xsavers/Makefile.am b/kscreensaver/xsavers/Makefile.am deleted file mode 100644 index b5451c7a..00000000 --- a/kscreensaver/xsavers/Makefile.am +++ /dev/null @@ -1,36 +0,0 @@ -AM_CPPFLAGS = -UQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE - -INCLUDES = $(all_includes) $(GLINC) -AM_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_KIO) -lktexteditor - -if COMPILE_GL_XSAVERS -GL_XSAVERS=kspace.kss -endif - -bin_PROGRAMS = kswarm.kss $(GL_XSAVERS) - -BASE_SRCS = main.cpp demowin.cpp saver.cpp helpers.cpp - -XS_SRCS = xs_colors.c xs_hsv.c xs_visual.c -XL_SRCS = xlock.cpp - -kswarm_kss_SOURCES = swarm.cpp $(BASE_SRCS) $(XL_SRCS) -kswarm_kss_LDADD = $(LIB_TDEUI) -lm - -kspace_kss_SOURCES = space.cpp $(BASE_SRCS) $(XL_SRCS) -kspace_kss_LDADD = $(LIB_TDEUI) $(GLLIB) -lm - -METASOURCES = AUTO - -noinst_HEADERS = saver.h demowin.h xlock.h swarm.h space.h \ - xlockmore.h mode.h helpers.h \ - xs_colors.h xs_hsv.h xs_yarandom.h xs_utils.h \ - xs_visual.h - -########## Meta objects ########## - -desktop_DATA = KSpace.desktop KSwarm.desktop -desktopdir = $(kde_appsdir)/System/ScreenSavers - -EXTRA_DIST = $(desktop_DATA) - diff --git a/kscreensaver/xsavers/demowin.cpp b/kscreensaver/xsavers/demowin.cpp deleted file mode 100644 index 893885be..00000000 --- a/kscreensaver/xsavers/demowin.cpp +++ /dev/null @@ -1,11 +0,0 @@ -//----------------------------------------------------------------------------- -// -// Screen savers for KDE -// -// Copyright (c) Martin R. Jones 1999 -// - -#include "demowin.h" -#include "demowin.moc" - - diff --git a/kscreensaver/xsavers/demowin.h b/kscreensaver/xsavers/demowin.h deleted file mode 100644 index 6a09b7c3..00000000 --- a/kscreensaver/xsavers/demowin.h +++ /dev/null @@ -1,45 +0,0 @@ -//----------------------------------------------------------------------------- -// -// Screen savers for KDE -// -// Copyright (c) Martin R. Jones 1999 -// - -#ifndef __DEMOWIN_H__ -#define __DEMOWIN_H__ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <klocale.h> -#include <kconfig.h> -#include <kstandarddirs.h> -#include <kapplication.h> - -//---------------------------------------------------------------------------- - -class DemoWindow : public TQWidget -{ - Q_OBJECT - -public: - DemoWindow() : TQWidget() - { - setFixedSize(600, 420); - } - -protected: - virtual void keyPressEvent(TQKeyEvent *e) - { - if (e->ascii() == 'q') - { - kapp->quit(); - } - } -}; - -#endif - diff --git a/kscreensaver/xsavers/helpers.cpp b/kscreensaver/xsavers/helpers.cpp deleted file mode 100644 index e55cf98c..00000000 --- a/kscreensaver/xsavers/helpers.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "helpers.h" - -#include <kapplication.h> - -void min_width(TQWidget *w) { - w->setMinimumWidth(w->sizeHint().width()); -} - -void fixed_width(TQWidget *w) { - w->setFixedWidth(w->sizeHint().width()); -} - -void min_height(TQWidget *w) { - w->setMinimumHeight(w->sizeHint().height()); -} - -void fixed_height(TQWidget *w) { - w->setFixedHeight(w->sizeHint().height()); -} - -void min_size(TQWidget *w) { - w->setMinimumSize(w->sizeHint()); -} - -void fixed_size(TQWidget *w) { - w->setFixedSize(w->sizeHint()); -} - -TDEConfig *klock_config() -{ - TQString name( kapp->argv()[0] ); - int slash = name.findRev( '/' ); - if ( slash ) - name = name.mid( slash+1 ); - - return new TDEConfig( name + "rc" ); -} - diff --git a/kscreensaver/xsavers/helpers.h b/kscreensaver/xsavers/helpers.h deleted file mode 100644 index e4125709..00000000 --- a/kscreensaver/xsavers/helpers.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef __HELPERS__H__ -#define __HELPERS__H__ - -#include <tqwidget.h> -#include <kconfig.h> - -void min_width(TQWidget *); -void fixed_width(TQWidget *); -void min_height(TQWidget *); -void fixed_height(TQWidget *); -void min_size(TQWidget *); -void fixed_size(TQWidget *); - -/* - * Use this to get a TDEConfig object that uses a reasonable config filename. - * TDEGlobal::config() will use the klockrc config file. - * - * Caller must delete the object when finished. - */ -TDEConfig *klock_config(); - -#endif - diff --git a/kscreensaver/xsavers/main.cpp b/kscreensaver/xsavers/main.cpp deleted file mode 100644 index d7f76dcd..00000000 --- a/kscreensaver/xsavers/main.cpp +++ /dev/null @@ -1,108 +0,0 @@ -//----------------------------------------------------------------------------- -// -// Screen savers for KDE -// -// Copyright (c) Martin R. Jones 1999 -// - -#include <config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <signal.h> - -#include <tqcolor.h> - -#include <klocale.h> -#include <kconfig.h> -#include <kstandarddirs.h> -#include <kdebug.h> -#include <kapplication.h> -#include <kcmdlineargs.h> -#include <kcrash.h> - -#include "demowin.h" -#include "saver.h" - -static const char appName[] = "klock"; -static const char description[] = I18N_NOOP("TDE Screen Lock/Saver"); -static const char version[] = "2.0.0"; - -static const KCmdLineOptions options[] = -{ - { "setup", I18N_NOOP("Setup screen saver"), 0 }, - { "window-id wid", I18N_NOOP("Run in the specified XWindow"), 0 }, - { "root", I18N_NOOP("Run in the root XWindow"), 0 }, - { "demo", I18N_NOOP("Start screen saver in demo mode"), "default"}, - KCmdLineLastOption -}; - -static void crashHandler( int /*sig*/ ) -{ -#ifdef SIGABRT - signal ( SIGABRT, SIG_DFL ); -#endif - abort(); -} - -//---------------------------------------------------------------------------- - -int main(int argc, char *argv[]) -{ - TDECmdLineArgs::init(argc, argv, appName, I18N_NOOP("KLock"), description, version); - - TDECmdLineArgs::addCmdLineOptions(options); - - TDEApplication app; - - KCrash::setCrashHandler( crashHandler ); - - DemoWindow *demoWidget = 0; - Window saveWin = 0; - - TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs(); - - if (args->isSet("setup")) - { - setupScreenSaver(); - exit(0); - } - - if (args->isSet("window-id")) - { - saveWin = atol(args->getOption("window-id")); - } - - if (args->isSet("root")) - { - saveWin = TQApplication::desktop()->handle(); - } - - if (args->isSet("demo")) - { - saveWin = 0; - } - - if (saveWin == 0) - { - demoWidget = new DemoWindow(); - demoWidget->setBackgroundMode(TQWidget::NoBackground); -// demoWidget->setBackgroundColor(TQt::black); - demoWidget->show(); - saveWin = demoWidget->winId(); - app.setMainWidget(demoWidget); - app.processEvents(); - } - - startScreenSaver(saveWin); - app.exec(); - stopScreenSaver(); - - if (demoWidget) - { - delete demoWidget; - } - - return 0; -} - diff --git a/kscreensaver/xsavers/mode.h b/kscreensaver/xsavers/mode.h deleted file mode 100644 index c2bc7f1d..00000000 --- a/kscreensaver/xsavers/mode.h +++ /dev/null @@ -1,692 +0,0 @@ - -#ifndef __XLOCK_MODE_H__ -#define __XLOCK_MODE_H__ - -/*- - * @(#)mode.h 4.00 97/01/01 xlockmore - * - * mode.h - mode management for xlock, the X Window System lockscreen. - * - * Copyright (c) 1991 by Patrick J. Naughton. - * - * See xlock.c for copying information. - * - * Revision History: - * - * Changes of David Bagley ([email protected]) - * 18-Mar-96: Ron Hitchens <[email protected]> - * Extensive revision to define new data types for - * the new mode calling scheme. - * 02-Jun-95: Extracted out of resource.c. - * - */ - -/* - * Declare external interface routines for supported screen savers. - */ - -/* -------------------------------------------------------------------- */ - -struct LockStruct_s; -struct ModeInfo_s; - -typedef void (ModeHook) (struct ModeInfo_s *); -typedef void (HookProc) (struct LockStruct_s *, struct ModeInfo_s *); - -typedef struct LockStruct_s { - char *cmdline_arg; /* mode name */ - ModeHook *init_hook; /* func to init a mode */ - ModeHook *callback_hook; /* func to run (tick) a mode */ - ModeHook *release_hook; /* func to shutdown a mode */ - ModeHook *refresh_hook; /* tells mode to repaint */ - ModeHook *change_hook; /* user wants mode to change */ - ModeHook *unused_hook; /* for future expansion */ - ModeSpecOpt *msopt; /* this mode's def resources */ - int def_delay; /* default delay for mode */ - int def_batchcount; - int def_cycles; - int def_size; - float def_saturation; - char *desc; /* text description of mode */ - unsigned int flags; /* state flags for this mode */ - void *userdata; /* for use by the mode */ -} LockStruct; - -#define LS_FLAG_INITED 1 - -typedef struct { - Display *display; /* handle to X display */ - Screen *screenptr; /* ptr to screen info */ - int screen; /* number of current screen */ - int real_screen; /* for debugging */ - int num_screens; /* number screens locked */ - int max_screens; /* max # active screens */ - Window window; /* handle to current window */ - int win_width; /* width of current window */ - int win_height; /* height of current window */ - int win_depth; /* depth of current window */ - Visual *visual; /* visual of current window */ - Colormap colormap; /* default colormap of current window */ - unsigned long black_pixel; /* pixel value for black */ - unsigned long white_pixel; /* pixel value for white */ - unsigned int flags; /* xlock window flags */ - float delta3d; -} WindowInfo; - -#define WI_FLAG_INFO_INITTED 0x001 /* private state flag */ -#define WI_FLAG_ICONIC 0x002 -#define WI_FLAG_MONO 0x004 -#define WI_FLAG_INWINDOW 0x008 -#define WI_FLAG_INROOT 0x010 -#define WI_FLAG_NOLOCK 0x020 -#define WI_FLAG_INSTALL 0x040 -#define WI_FLAG_DEBUG 0x080 -#define WI_FLAG_USE3D 0x100 -#define WI_FLAG_VERBOSE 0x200 -#define WI_FLAG_FULLRANDOM 0x400 -#define WI_FLAG_WIREFRAME 0x800 -#define WI_FLAG_JUST_INITTED 0x1000 /* private state flag */ - -typedef struct { - long pause; /* output, set by mode */ - long delay; /* inputs, current settings */ - long batchcount; - long cycles; - long size; - float saturation; -} RunInfo; - -typedef struct ModeInfo_s { - WindowInfo windowinfo; - perscreen *screeninfo; - RunInfo runinfo; - struct LockStruct_s *lockstruct; -} ModeInfo; - -/* -------------------------------------------------------------------- */ - -/* - * These are the public interfaces that a mode should use to obtain - * information about the display and other environmental parameters. - * Everything hangs off a ModeInfo pointer. A mode should NOT cache - * a ModeInfo pointer, the struct it points to is volatile. The mode - * can safely make a copy of the data it points to, however. But it - * is recommended the mode make use of the passed-in pointer and pass - * it along to functions it calls. - * Use these macros, don't look at the fields directly. The insides - * of the ModeInfo struct are certain to change in the future. - */ - -#define MODE_IS_INITED(ls) ((ls)->flags & LS_FLAG_INITED) -#define MODE_NOT_INITED(ls) ( ! MODE_IS_INITED(ls)) - -#define MI_DISPLAY(mi) ((mi)->windowinfo.display) -#define MI_SCREEN(mi) ((mi)->windowinfo.screen) -#define MI_SCREENPTR(mi) ((mi)->windowinfo.screenptr) -#define MI_REAL_SCREEN(mi) ((mi)->windowinfo.real_screen) -#define MI_NUM_SCREENS(mi) ((mi)->windowinfo.num_screens) -#define MI_MAX_SCREENS(mi) ((mi)->windowinfo.max_screens) -#define MI_WINDOW(mi) ((mi)->windowinfo.window) -#define MI_WIN_WIDTH(mi) ((mi)->windowinfo.win_width) -#define MI_WIN_HEIGHT(mi) ((mi)->windowinfo.win_height) -#define MI_WIN_DEPTH(mi) ((mi)->windowinfo.win_depth) -#define MI_VISUAL(mi) ((mi)->windowinfo.visual) -#define MI_COLORMAP(mi) ((mi)->windowinfo.colormap) -#define MI_WIN_BLACK_PIXEL(mi) ((mi)->windowinfo.black_pixel) -#define MI_WIN_WHITE_PIXEL(mi) ((mi)->windowinfo.white_pixel) -#define MI_DELTA3D(mi) ((mi)->windowinfo.delta3d) -#define MI_WIN_FLAGS(mi) ((mi)->windowinfo.flags) -#define MI_WIN_SET_FLAG_STATE(mi,f,bool) ((mi)->windowinfo.flags = \ - (bool) ? (mi)->windowinfo.flags | f \ - : (mi)->windowinfo.flags & ~(f)) -#define MI_WIN_FLAG_IS_SET(mi,f) ((mi)->windowinfo.flags & f) -#define MI_WIN_FLAG_NOT_SET(mi,f) ( ! MI_WIN_FLAG_IS_SET(mi,f)) -#define MI_WIN_IS_ICONIC(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_ICONIC)) -#define MI_WIN_IS_MONO(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_MONO)) -#define MI_WIN_IS_INWINDOW(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_INWINDOW)) -#define MI_WIN_IS_INROOT(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_INROOT)) -#define MI_WIN_IS_NOLOCK(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_NOLOCK)) -#define MI_WIN_IS_INSTALL(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_INSTALL)) -#define MI_WIN_IS_DEBUG(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_DEBUG)) -#define MI_WIN_IS_USE3D(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_USE3D)) -#define MI_WIN_IS_VERBOSE(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_VERBOSE)) -#define MI_WIN_IS_FULLRANDOM(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_FULLRANDOM)) -#define MI_WIN_IS_WIREFRAME(mi) (MI_WIN_FLAG_IS_SET (mi, WI_FLAG_WIREFRAME)) - -#define MI_PERSCREEN(mi) ((mi)->screeninfo) -#define MI_GC(mi) ((mi)->screeninfo->gc) -#define MI_NPIXELS(mi) ((mi)->screeninfo->npixels) -#define MI_CMAP(mi) ((mi)->screeninfo->cmap) -#define MI_PIXELS(mi) ((mi)->screeninfo->pixels) -#define MI_PIXEL(mi,n) ((mi)->screeninfo->pixels[n]) - -/* are these of interest to modes? */ -#define MI_BG_COLOR(mi) ((mi)->screeninfo->bgcol) -#define MI_FG_COLOR(mi) ((mi)->screeninfo->fgcol) -#define MI_NONE_COLOR(mi) ((mi)->screeninfo->nonecol) /* -install */ -#define MI_RIGHT_COLOR(mi) ((mi)->screeninfo->rightcol) -#define MI_LEFT_COLOR(mi) ((mi)->screeninfo->leftcol) - -#define MI_PAUSE(mi) ((mi)->runinfo.pause) -#define MI_DELAY(mi) ((mi)->runinfo.delay) -#define MI_BATCHCOUNT(mi) ((mi)->runinfo.batchcount) -#define MI_CYCLES(mi) ((mi)->runinfo.cycles) -#define MI_SIZE(mi) ((mi)->runinfo.size) -#define MI_SATURATION(mi) ((mi)->runinfo.saturation) - -#define MI_LOCKSTRUCT(mi) ((mi)->lockstruct) -#define MI_DEFDELAY(mi) ((mi)->lockstruct->def_delay) -#define MI_DEFBATCHCOUNT(mi) ((mi)->lockstruct->def_batchcount) -#define MI_DEFCYCLES(mi) ((mi)->lockstruct->def_cycles) -#define MI_DEFSIZE(mi) ((mi)->lockstruct->def_size) -#define MI_DEFSATURATION(mi) ((mi)->lockstruct->def_saturation) - -#define MI_NAME(mi) ((mi)->lockstruct->cmdline_arg) -#define MI_DESC(mi) ((mi)->lockstruct->desc) -#define MI_USERDATA(mi) ((mi)->lockstruct->userdata) - -/* -------------------------------------------------------------------- */ - -extern HookProc call_init_hook; -extern HookProc call_callback_hook; -extern HookProc call_release_hook; -extern HookProc call_refresh_hook; -extern HookProc call_change_hook; - -extern void set_default_mode(LockStruct *); -extern void release_last_mode(ModeInfo *); - -/* -------------------------------------------------------------------- */ - -extern ModeHook init_ant; -extern ModeHook draw_ant; -extern ModeHook release_ant; -extern ModeHook refresh_ant; -extern ModeSpecOpt ant_opts; - -extern ModeHook init_ball; -extern ModeHook draw_ball; -extern ModeHook release_ball; -extern ModeHook refresh_ball; -extern ModeSpecOpt ball_opts; - -extern ModeHook init_bat; -extern ModeHook draw_bat; -extern ModeHook release_bat; -extern ModeHook refresh_bat; -extern ModeSpecOpt bat_opts; - -extern ModeHook init_blot; -extern ModeHook draw_blot; -extern ModeHook release_blot; -extern ModeHook refresh_blot; -extern ModeSpecOpt blot_opts; - -extern ModeHook init_bouboule; -extern ModeHook draw_bouboule; -extern ModeHook release_bouboule; -extern ModeHook refresh_bouboule; -extern ModeSpecOpt bouboule_opts; - -extern ModeHook init_bounce; -extern ModeHook draw_bounce; -extern ModeHook release_bounce; -extern ModeHook refresh_bounce; -extern ModeSpecOpt bounce_opts; - -extern ModeHook init_braid; -extern ModeHook draw_braid; -extern ModeHook release_braid; -extern ModeHook refresh_braid; -extern ModeSpecOpt braid_opts; - -extern ModeHook init_bug; -extern ModeHook draw_bug; -extern ModeHook release_bug; -extern ModeHook refresh_bug; -extern ModeSpecOpt bug_opts; - -extern ModeHook init_clock; -extern ModeHook draw_clock; -extern ModeHook release_clock; -extern ModeHook refresh_clock; -extern ModeSpecOpt clock_opts; - -extern ModeHook init_daisy; -extern ModeHook draw_daisy; -extern ModeHook release_daisy; -extern ModeHook refresh_daisy; -extern ModeSpecOpt daisy_opts; - -extern ModeHook init_dclock; -extern ModeHook draw_dclock; -extern ModeHook release_dclock; -extern ModeHook refresh_dclock; -extern ModeSpecOpt dclock_opts; - -extern ModeHook init_demon; -extern ModeHook draw_demon; -extern ModeHook release_demon; -extern ModeHook refresh_demon; -extern ModeSpecOpt demon_opts; - -extern ModeHook init_drift; -extern ModeHook draw_drift; -extern ModeHook release_drift; -extern ModeHook refresh_drift; -extern ModeSpecOpt drift_opts; - -extern ModeHook init_eyes; -extern ModeHook draw_eyes; -extern ModeHook release_eyes; -extern ModeHook refresh_eyes; -extern ModeSpecOpt eyes_opts; - -extern ModeHook init_flag; -extern ModeHook draw_flag; -extern ModeHook release_flag; -extern ModeHook refresh_flag; -extern ModeSpecOpt flag_opts; - -extern ModeHook init_flame; -extern ModeHook draw_flame; -extern ModeHook release_flame; -extern ModeHook refresh_flame; -extern ModeSpecOpt flame_opts; - -extern ModeHook init_forest; -extern ModeHook draw_forest; -extern ModeHook release_forest; -extern ModeHook refresh_forest; -extern ModeHook refresh_forest; -extern ModeSpecOpt forest_opts; - -extern ModeHook init_fract; -extern ModeHook draw_fract; -extern ModeHook release_fract; -extern ModeHook refresh_fract; -extern ModeSpecOpt fract_opts; - -extern ModeHook init_galaxy; -extern ModeHook draw_galaxy; -extern ModeHook release_galaxy; -extern ModeHook refresh_galaxy; -extern ModeSpecOpt galaxy_opts; - -extern ModeHook init_geometry; -extern ModeHook draw_geometry; -extern ModeHook release_geometry; -extern ModeHook refresh_geometry; -extern ModeSpecOpt geometry_opts; - -extern ModeHook init_grav; -extern ModeHook draw_grav; -extern ModeHook release_grav; -extern ModeHook refresh_grav; -extern ModeSpecOpt grav_opts; - -extern ModeHook init_helix; -extern ModeHook draw_helix; -extern ModeHook release_helix; -extern ModeHook refresh_helix; -extern ModeSpecOpt helix_opts; - -extern ModeHook init_hop; -extern ModeHook draw_hop; -extern ModeHook release_hop; -extern ModeHook refresh_hop; -extern ModeSpecOpt hop_opts; - -extern ModeHook init_hyper; -extern ModeHook draw_hyper; -extern ModeHook release_hyper; -extern ModeHook refresh_hyper; -extern ModeSpecOpt hyper_opts; - -extern ModeHook init_ico; -extern ModeHook draw_ico; -extern ModeHook release_ico; -extern ModeHook refresh_ico; -extern ModeHook change_ico; -extern ModeSpecOpt ico_opts; - -extern ModeHook init_ifs; -extern ModeHook draw_ifs; -extern ModeHook release_ifs; -extern ModeSpecOpt ifs_opts; - -extern ModeHook init_image; -extern ModeHook draw_image; -extern ModeHook release_image; -extern ModeHook refresh_image; -extern ModeSpecOpt image_opts; - -extern ModeHook init_julia; -extern ModeHook draw_julia; -extern ModeHook release_julia; -extern ModeHook refresh_julia; -extern ModeSpecOpt julia_opts; - -extern ModeHook init_kaleid; -extern ModeHook draw_kaleid; -extern ModeHook release_kaleid; -extern ModeHook refresh_kaleid; -extern ModeSpecOpt kaleid_opts; - -extern ModeHook init_laser; -extern ModeHook draw_laser; -extern ModeHook release_laser; -extern ModeHook refresh_laser; -extern ModeSpecOpt laser_opts; - -extern ModeHook init_life; -extern ModeHook draw_life; -extern ModeHook release_life; -extern ModeHook refresh_life; -extern ModeHook change_life; -extern ModeSpecOpt life_opts; - -extern ModeHook init_life1d; -extern ModeHook draw_life1d; -extern ModeHook release_life1d; -extern ModeHook refresh_life1d; -extern ModeSpecOpt life1d_opts; - -extern ModeHook init_life3d; -extern ModeHook draw_life3d; -extern ModeHook release_life3d; -extern ModeHook refresh_life3d; -extern ModeHook change_life3d; -extern ModeSpecOpt life3d_opts; - -extern ModeHook init_lightning; -extern ModeHook draw_lightning; -extern ModeHook release_lightning; -extern ModeHook refresh_lightning; -extern ModeSpecOpt lightning_opts; - -extern ModeHook init_lisa; -extern ModeHook draw_lisa; -extern ModeHook release_lisa; -extern ModeHook refresh_lisa; -extern ModeHook change_lisa; -extern ModeSpecOpt lisa_opts; - -extern ModeHook init_lissie; -extern ModeHook draw_lissie; -extern ModeHook release_lissie; -extern ModeHook refresh_lissie; -extern ModeSpecOpt lissie_opts; - -extern ModeHook init_loop; -extern ModeHook draw_loop; -extern ModeHook release_loop; -extern ModeHook refresh_loop; -extern ModeSpecOpt loop_opts; - -extern ModeHook init_marquee; -extern ModeHook draw_marquee; -extern ModeHook release_marquee; -extern ModeHook refresh_marquee; -extern ModeSpecOpt marquee_opts; - -extern ModeHook init_maze; -extern ModeHook draw_maze; -extern ModeHook release_maze; -extern ModeHook refresh_maze; -extern ModeSpecOpt maze_opts; - -extern ModeHook init_mountain; -extern ModeHook draw_mountain; -extern ModeHook release_mountain; -extern ModeHook refresh_mountain; -extern ModeSpecOpt mountain_opts; - -extern ModeHook init_nose; -extern ModeHook draw_nose; -extern ModeHook release_nose; -extern ModeHook refresh_nose; -extern ModeSpecOpt nose_opts; - -extern ModeHook init_pacman; -extern ModeHook draw_pacman; -extern ModeHook release_pacman; -extern ModeHook refresh_pacman; -extern ModeSpecOpt pacman_opts; - -extern ModeHook init_penrose; -extern ModeHook draw_penrose; -extern ModeHook release_penrose; - -#if 0 -extern ModeHook refresh_penrose; /* Needed */ - -#endif -extern ModeSpecOpt penrose_opts; - -extern ModeHook init_petal; -extern ModeHook draw_petal; -extern ModeHook release_petal; -extern ModeHook refresh_petal; -extern ModeSpecOpt petal_opts; - -extern ModeHook init_puzzle; -extern ModeHook draw_puzzle; -extern ModeHook release_puzzle; - -#if 0 -extern ModeHook refresh_puzzle; /* Needed */ - -#endif -extern ModeSpecOpt puzzle_opts; - -extern ModeHook init_pyro; -extern ModeHook draw_pyro; -extern ModeHook release_pyro; -extern ModeHook refresh_pyro; -extern ModeSpecOpt pyro_opts; - -extern ModeHook init_qix; -extern ModeHook draw_qix; -extern ModeHook release_qix; -extern ModeHook refresh_qix; -extern ModeSpecOpt qix_opts; - -extern ModeHook init_roll; -extern ModeHook draw_roll; -extern ModeHook release_roll; -extern ModeHook refresh_roll; -extern ModeSpecOpt roll_opts; - -extern ModeHook init_rotor; -extern ModeHook draw_rotor; -extern ModeHook release_rotor; -extern ModeHook refresh_rotor; -extern ModeSpecOpt rotor_opts; - -extern ModeHook init_shape; -extern ModeHook draw_shape; -extern ModeHook release_shape; -extern ModeHook refresh_shape; -extern ModeSpecOpt shape_opts; - -extern ModeHook init_slip; -extern ModeHook draw_slip; -extern ModeHook release_slip; - -#if 0 -extern ModeHook refresh_slip; /* Probably not practical */ - -#endif -extern ModeSpecOpt slip_opts; - -extern ModeHook init_sphere; -extern ModeHook draw_sphere; -extern ModeHook release_sphere; -extern ModeHook refresh_sphere; -extern ModeSpecOpt sphere_opts; - -extern ModeHook init_spiral; -extern ModeHook draw_spiral; -extern ModeHook release_spiral; -extern ModeHook refresh_spiral; -extern ModeSpecOpt spiral_opts; - -extern ModeHook init_spline; -extern ModeHook draw_spline; -extern ModeHook release_spline; -extern ModeHook refresh_spline; -extern ModeSpecOpt spline_opts; - -extern ModeHook init_star; -extern ModeHook draw_star; -extern ModeHook release_star; -extern ModeHook refresh_star; -extern ModeSpecOpt star_opts; - -extern ModeHook init_strange; -extern ModeHook draw_strange; -extern ModeHook release_strange; -extern ModeSpecOpt strange_opts; - -extern ModeHook init_swarm; -extern ModeHook draw_swarm; -extern ModeHook release_swarm; -extern ModeHook refresh_swarm; -extern ModeSpecOpt swarm_opts; - -extern ModeHook init_swirl; -extern ModeHook draw_swirl; -extern ModeHook release_swirl; -extern ModeHook refresh_swirl; -extern ModeSpecOpt swirl_opts; - -extern ModeHook init_tri; -extern ModeHook draw_tri; -extern ModeHook release_tri; -extern ModeHook refresh_tri; -extern ModeSpecOpt tri_opts; - -extern ModeHook init_triangle; -extern ModeHook draw_triangle; -extern ModeHook release_triangle; -extern ModeHook refresh_triangle; -extern ModeSpecOpt triangle_opts; - -extern ModeHook init_tube; -extern ModeHook draw_tube; -extern ModeHook release_tube; -extern ModeHook refresh_tube; -extern ModeSpecOpt tube_opts; - -extern ModeHook init_turtle; -extern ModeHook draw_turtle; -extern ModeHook release_turtle; -extern ModeHook refresh_turtle; -extern ModeSpecOpt turtle_opts; - -extern ModeHook init_wator; -extern ModeHook draw_wator; -extern ModeHook release_wator; -extern ModeHook refresh_wator; -extern ModeSpecOpt wator_opts; - -extern ModeHook init_wire; -extern ModeHook draw_wire; -extern ModeHook release_wire; -extern ModeHook refresh_wire; -extern ModeSpecOpt wire_opts; - -extern ModeHook init_world; -extern ModeHook draw_world; -extern ModeHook release_world; -extern ModeHook refresh_world; -extern ModeSpecOpt world_opts; - -extern ModeHook init_worm; -extern ModeHook draw_worm; -extern ModeHook release_worm; -extern ModeHook refresh_worm; -extern ModeSpecOpt worm_opts; - -#if defined( USE_XPM ) || defined( USE_XPMINC ) -extern ModeHook init_cartoon; -extern ModeHook draw_cartoon; -extern ModeHook release_cartoon; -extern ModeSpecOpt cartoon_opts; - -#endif - -#ifdef USE_GL -extern ModeHook init_gears; -extern ModeHook draw_gears; -extern ModeHook release_gears; -extern ModeSpecOpt gears_opts; - -extern ModeHook init_morph3d; -extern ModeHook draw_morph3d; -extern ModeHook release_morph3d; -extern ModeHook change_morph3d; -extern ModeSpecOpt morph3d_opts; - -extern ModeHook init_pipes; -extern ModeHook draw_pipes; -extern ModeHook release_pipes; -extern ModeHook refresh_pipes; -extern ModeHook change_pipes; -extern ModeSpecOpt pipes_opts; - -extern ModeHook init_superquadrics; -extern ModeHook draw_superquadrics; -extern ModeHook release_superquadrics; -extern ModeHook refresh_superquadrics; -extern ModeSpecOpt superquadrics_opts; - -#ifdef USE_SPROINGIES -extern ModeHook init_sproingies; -extern ModeHook draw_sproingies; -extern ModeHook release_sproingies; -extern ModeHook refresh_sproingies; -extern ModeSpecOpt sproingies_opts; - -#endif -#endif - -#ifdef USE_HACKERS -extern ModeHook init_fadeplot; -extern ModeHook draw_fadeplot; -extern ModeHook release_fadeplot; -extern ModeHook refresh_fadeplot; -extern ModeSpecOpt fadeplot_opts; - -#endif - -extern ModeHook init_blank; -extern ModeHook draw_blank; -extern ModeHook release_blank; -extern ModeHook refresh_blank; -extern ModeSpecOpt blank_opts; - -#ifdef USE_BOMB -extern ModeHook init_bomb; -extern ModeHook draw_bomb; -extern ModeHook release_bomb; -extern ModeHook refresh_bomb; -extern ModeHook change_bomb; -extern ModeSpecOpt bomb_opts; - -#endif - -extern ModeHook init_random; -extern ModeHook draw_random; -extern ModeHook release_random; -extern ModeHook refresh_random; -extern ModeHook change_random; -extern ModeSpecOpt random_opts; - -extern LockStruct LockProcs[]; -extern int numprocs; - -/* -------------------------------------------------------------------- */ - -#endif /* __XLOCK_MODE_H__ */ diff --git a/kscreensaver/xsavers/saver.cpp b/kscreensaver/xsavers/saver.cpp deleted file mode 100644 index 1c11fd73..00000000 --- a/kscreensaver/xsavers/saver.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include <kapplication.h> -#include <kglobal.h> -#include <kprocess.h> -#include <klocale.h> -#include <kstandarddirs.h> -#include <X11/Xlib.h> - -#include "saver.h" -#include "saver.moc" - -//----------------------------------------------------------------------------- -kScreenSaver::kScreenSaver(Drawable drawable) : TQObject() -{ - Window root; - int ai; - unsigned int au; - - mDrawable = drawable; - mGc = XCreateGC(tqt_xdisplay(), mDrawable, 0, 0); - XGetGeometry(tqt_xdisplay(), mDrawable, &root, &ai, &ai, - &mWidth, &mHeight, &au, &au); -} - -kScreenSaver::~kScreenSaver() -{ - XFreeGC(tqt_xdisplay(), mGc); -} - -//----------------------------------------------------------------------------- - - diff --git a/kscreensaver/xsavers/saver.h b/kscreensaver/xsavers/saver.h deleted file mode 100644 index 598808bc..00000000 --- a/kscreensaver/xsavers/saver.h +++ /dev/null @@ -1,29 +0,0 @@ - -#ifndef __SAVER_H__ -#define __SAVER_H__ - -#include <tqobject.h> -#include <X11/Xlib.h> - -extern void startScreenSaver( Drawable d ); -extern void stopScreenSaver(); -extern int setupScreenSaver(); - -//----------------------------------------------------------------------------- -class kScreenSaver : public TQObject -{ - Q_OBJECT - -public: - kScreenSaver( Drawable drawable ); - virtual ~kScreenSaver(); - -protected: - Drawable mDrawable; - GC mGc; - unsigned mWidth; - unsigned mHeight; -}; - -#endif - diff --git a/kscreensaver/xsavers/space.cpp b/kscreensaver/xsavers/space.cpp deleted file mode 100644 index a15dd171..00000000 --- a/kscreensaver/xsavers/space.cpp +++ /dev/null @@ -1,735 +0,0 @@ -/* - * - * kStart OpenGL screensave for KDE - * - * $Id$ - * - * Copyright (C) 1998 Bernd Johannes Wuebben - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * Based on star.c: - * - * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and - * its documentation for any purpose is hereby granted without fee, provided - * that (i) the above copyright notices and this permission notice appear in - * all copies of the software and related documentation, and (ii) the name of - * Silicon Graphics may not be used in any advertising or - * publicity relating to the software without the specific, prior written - * permission of Silicon Graphics. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF - * ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR - * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, - * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF - * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#define LONG64 -//#define TQT_CLEAN_NAMESPACE - -#include <tqslider.h> -#include <tqlayout.h> -#include <kglobal.h> -#include <kconfig.h> -#include <krandomsequence.h> -#include <kdebug.h> -#include "xlock.h" -#include "helpers.h" -#ifdef HAVE_CONFIG_H -#include "../../config.h" -#endif - -#ifdef HAVE_GL - -#include <klocale.h> - -#undef index -#include "space.h" -#include <math.h> -#include <X11/Intrinsic.h> -#ifdef HAVE_GL_XMESA_H -#include <GL/xmesa.h> -#endif -#include <GL/gl.h> -#include <GL/glx.h> -#ifdef HAVE_GL_GLUT_H -// We don't need GLUT, but some BROKEN GLU implemenations, such as the one -// used in SuSE Linux 6.3, do. :( -#include <GL/glut.h> -#endif -#include <GL/glu.h> - -#ifndef PI -#ifdef M_PI -#define PI M_PI -#else -#define PI 3.141592657 -#endif -#endif - -enum { - NORMAL = 0, - WEIRD = 1 -} flag = NORMAL; - -enum { - STREAK = 0, - CIRCLE = 1 -}; - -#define MAXSTARS 400 -#define MAXPOS 10000 -#define MAXWARP1 10 -#define MAXANGLES 6000 - - -typedef struct _starRec { - GLint type; - float x[2], y[2], z[2]; - float offsetX, offsetY, offsetR, rotation; -} starRec; - - -GLenum doubleBuffer, directRender; -GLint windW, windH; - -GLint starCount = MAXSTARS / 2; -float speed = 1.0; -float warpinterval = 30000.0; -GLint nitro = 0; -starRec stars[MAXSTARS]; -float sinTable[MAXANGLES]; - -static GLXContext glx_context; -static KRandomSequence *rnd = 0; - -float Sin(float angle) -{ - - return (sinTable[(GLint)angle]); -} - -float Cos(float angle) -{ - - return (sinTable[((GLint)angle+(MAXANGLES/4))%MAXANGLES]); -} - -void NewStar(GLint n, GLint d) -{ - - if (rnd->getLong(4) == 0) { - stars[n].type = CIRCLE; - } else { - stars[n].type = STREAK; - } - stars[n].x[0] = rnd->getDouble() * MAXPOS - MAXPOS / 2; - stars[n].y[0] = rnd->getDouble() * MAXPOS - MAXPOS / 2; - stars[n].z[0] = rnd->getDouble() * MAXPOS + d; - if (rnd->getLong(4) == 0 && flag == WEIRD) { - stars[n].offsetX = rnd->getDouble()* 100 - 100 / 2; - stars[n].offsetY = rnd->getDouble()* 100 - 100 / 2; - stars[n].offsetR = rnd->getDouble()* 25 - 25 / 2; - } else { - stars[n].offsetX = 0.0; - stars[n].offsetY = 0.0; - stars[n].offsetR = 0.0; - } -} - -void RotatePoint(float *x, float *y, float rotation) -{ - float tmpX, tmpY; - - tmpX = *x * Cos(rotation) - *y * Sin(rotation); - tmpY = *y * Cos(rotation) + *x * Sin(rotation); - *x = tmpX; - *y = tmpY; -} - -void MoveStars(void) -{ - float offset; - GLint n; - - offset = speed * 60.0; - - for (n = 0; n < starCount; n++) { - stars[n].x[1] = stars[n].x[0]; - stars[n].y[1] = stars[n].y[0]; - stars[n].z[1] = stars[n].z[0]; - stars[n].x[0] += stars[n].offsetX; - stars[n].y[0] += stars[n].offsetY; - stars[n].z[0] -= offset; - stars[n].rotation += stars[n].offsetR; - if (stars[n].rotation > MAXANGLES) { - stars[n].rotation = 0.0; - } - } -} - -GLenum StarPoint(GLint n) -{ - float x0, y0, x1, y1, width; - GLint i; - - x0 = stars[n].x[0] * windW / stars[n].z[0]; - y0 = stars[n].y[0] * windH / stars[n].z[0]; - RotatePoint(&x0, &y0, stars[n].rotation); - x0 += windW / 2.0; - y0 += windH / 2.0; - - if (x0 >= 0.0 && x0 < windW && y0 >= 0.0 && y0 < windH) { - if (stars[n].type == STREAK) { - x1 = stars[n].x[1] * windW / stars[n].z[1]; - y1 = stars[n].y[1] * windH / stars[n].z[1]; - RotatePoint(&x1, &y1, stars[n].rotation); - x1 += windW / 2.0; - y1 += windH / 2.0; - - glLineWidth(MAXPOS/100.0/stars[n].z[0]+1.0); - glColor3f((MAXWARP1-speed)/MAXWARP1, (MAXWARP1-speed)/MAXWARP1, .9); - if (fabs(x0-x1) < 1.0 && fabs(y0-y1) < 1.0) { - glBegin(GL_POINTS); - glVertex2f(x0, y0); - glEnd(); - } else { - glBegin(GL_LINES); - glVertex2f(x0, y0); - glVertex2f(x1, y1); - glEnd(); - } - } else { - width = MAXPOS / 10.0 / stars[n].z[0] + 1.0; - glColor3f(1.0, 0.0, 0.0); - glBegin(GL_POLYGON); - for (i = 0; i < 8; i++) { - float x = x0 + width * Cos((float)i*MAXANGLES/8.0); - float y = y0 + width * Sin((float)i*MAXANGLES/8.0); - glVertex2f(x, y); - }; - glEnd(); - } - return GL_TRUE; - } else { - return GL_FALSE; - } -} - -void ShowStars(void) -{ - GLint n; - - glClear(GL_COLOR_BUFFER_BIT); - - for (n = 0; n < starCount; n++) { - if (stars[n].z[0] > speed || (stars[n].z[0] > 0.0 && speed < MAXWARP1)) { - if (StarPoint(n) == GL_FALSE) { - NewStar(n, MAXPOS); - } - } else { - NewStar(n, MAXPOS); - } - } -} - -static void Init(void) -{ - float angle; - GLint n; - - for (n = 0; n < MAXSTARS; n++) { - NewStar(n, 100); - } - - angle = 0.0; - for (n = 0; n < MAXANGLES ; n++) { - sinTable[n] = sin(angle); - angle += PI / (MAXANGLES / 2.0); - } - - glClearColor(0.0, 0.0, 0.0, 0.0); - - glDisable(GL_DITHER); -} - -void reshape(int width, int height) -{ - - windW = (GLint)width; - windH = (GLint)height; - - glViewport(0, 0, windW, windH); - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - gluOrtho2D(-0.5, windW+0.5, -0.5, windH+0.5); - glMatrixMode(GL_MODELVIEW); - -} - -void Idle(void) -{ - - MoveStars(); - ShowStars(); - if (nitro > 0) { - speed = (float)(nitro / 10) + 1.0; - if (speed > MAXWARP1) { - speed = MAXWARP1; - } - if (++nitro > MAXWARP1*10) { - nitro = -nitro; - } - } else if (nitro < 0) { - nitro++; - speed = (float)(-nitro / 10) + 1.0; - if (speed > MAXWARP1) { - speed = MAXWARP1; - } - } - - glFlush(); - - /* if (doubleBuffer) { - tkSwapBuffers(); - }*/ -} - - -void -drawSpace(Window /*window*/) -{ - - /* - Display *display = dsp; - //glXMakeCurrent(display, window, mp->glx_context); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glFlush(); - glXSwapBuffers(display, window); - */ - - Idle(); - -} - - -void release_Space(){ - - glXDestroyContext(dsp, glx_context); - -} - -static XVisualInfo *glVis[MAXSCREENS]; - -int -getVisual(XVisualInfo * wantVis, int visual_count) -{ - Display *display = dsp; - static int first; - int i; - - if (first) { - for (screen = 0; screen < MAXSCREENS; screen++) - glVis[screen] = NULL; - } - - if (!glVis[screen]) { - if (mono) { - /* Monochrome display - use color index mode */ - int attribList[] = {GLX_DOUBLEBUFFER, None}; - - glVis[screen] = glXChooseVisual(display, screen, attribList); - } else { - int attribList[] = - {GLX_RGBA, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, 1, None}; - - glVis[screen] = glXChooseVisual(display, screen, attribList); - } - } - // Make sure we have a visual - if (!glVis[screen]) { - return (0); - } - - /* check if GL can render into root window. */ - for(i=0;i<visual_count;i++) - if ( (glVis[screen]->visual == (wantVis+i)->visual) ) - return (1); // success - - // The visual we received did not match one we asked for - return (0); -} - -void -initSpace(Window window) -{ - Display *display = dsp; - XWindowAttributes xwa; - - - (void) XGetWindowAttributes(dsp, window, &xwa); - int n; - XVisualInfo *wantVis, vTemplate; - int VisualClassWanted=-1; - - vTemplate.screen = screen; - vTemplate.depth = xwa.depth; - - if (VisualClassWanted == -1) { - vTemplate.c_class = DefaultVisual(display, screen)->c_class; - } else { - vTemplate.c_class = VisualClassWanted; - } - - wantVis = XGetVisualInfo(display, - VisualScreenMask | VisualDepthMask | VisualClassMask, - &vTemplate, &n); - - if (VisualClassWanted != -1 && n == 0) { - /* Wanted visual not found so use default */ - - vTemplate.c_class = DefaultVisual(display, screen)->c_class; - - wantVis = XGetVisualInfo(display, - VisualScreenMask | VisualDepthMask | VisualClassMask, - &vTemplate, &n); - } - /* if User asked for color, try that first, then try mono */ - /* if User asked for mono. Might fail on 16/24 bit displays, - so fall back on color, but keep the mono "look & feel". */ - - if (!getVisual(wantVis, n)) { - if (!getVisual(wantVis, n)) { - kdError() << i18n("GL can not render with root visual\n") << endl; - return; - } - } - - /* PURIFY 3.0a on SunOS4 reports a 104 byte memory leak on the next line each - * time that morph3d mode is run in random mode. */ - - glx_context = glXCreateContext(display, wantVis, 0, True); - - XFree((char *) wantVis); - - - glXMakeCurrent(display, window, glx_context); - glDrawBuffer(GL_FRONT); - - if (mono) { - glIndexi(WhitePixel(display, screen)); - glClearIndex(BlackPixel(display, screen)); - } - - reshape(xwa.width, xwa.height); - Init(); -} - - - - -#endif - -#define MINSPEED 1 -#define MAXSPEED 100 -#define DEFSPEED 50 -#define MINWARP 1 -#define MAXWARP 30 -#define DEFWARP 2 -#define WARPFACTOR 100 -//----------------------------------------------------------------------------- - -#include <tqpushbutton.h> -#include <tqcheckbox.h> -#include <tqlabel.h> -#include <tqcolor.h> - -#include <kmessagebox.h> - -#include "space.moc" - -#undef Below - -static kSpaceSaver *saver = NULL; - -void startScreenSaver( Drawable d ) -{ - if ( saver ) - return; - saver = new kSpaceSaver( d ); -} - -void stopScreenSaver() -{ - if ( saver ) - delete saver; - saver = NULL; -} - -int setupScreenSaver() -{ - kSpaceSetup dlg; - - return dlg.exec(); -} - -//----------------------------------------------------------------------------- - -kSpaceSaver::kSpaceSaver( Drawable drawable ) : kScreenSaver( drawable ) -{ - rnd = new KRandomSequence(); - readSettings(); - counter = (int)warpinterval *WARPFACTOR; - - colorContext = TQColor::enterAllocContext(); - - initXLock( mGc ); - initSpace( mDrawable ); - - timer.start( speed ); - connect( &timer, TQT_SIGNAL( timeout() ), TQT_SLOT( slotTimeout() ) ); -} - -kSpaceSaver::~kSpaceSaver() -{ - timer.stop(); - release_Space(); - TQColor::leaveAllocContext(); - TQColor::destroyAllocContext( colorContext ); - delete rnd; rnd = 0; -} - -void kSpaceSaver::setSpeed( int spd ) -{ - timer.stop(); - speed = MAXSPEED - spd ; - // printf("speed %d\n",speed); - timer.stop(); - timer.start( speed ); -} - -void kSpaceSaver::setWarp( int w ) -{ - warpinterval = w; - counter = (int)warpinterval; - initSpace( mDrawable ); -} - -void kSpaceSaver::readSettings() -{ - TDEConfig *config = klock_config(); - config->setGroup( "Settings" ); - - TQString str; - - str = config->readEntry( "Speed" ); - if ( !str.isNull() ) - speed = MAXSPEED - str.toInt(); - else - speed = DEFSPEED; - - warpinterval = config->readNumEntry( "WarpInterval", 15 ); - delete config; -} - -void kSpaceSaver::slotTimeout() -{ - //printf("%d %d \n",(int)warpinterval, MAXWARP); - if(warpinterval != MAXWARP){ - if(nitro == 0) - counter -= speed +1; - - if(counter <= 0){ - nitro = 1; - counter = (int) warpinterval *WARPFACTOR; - } - } - else - nitro = 0; - - drawSpace( mDrawable ); -} - -//----------------------------------------------------------------------------- - -kSpaceSetup::kSpaceSetup( TQWidget *parent, const char *name ) - : KDialogBase( parent, name, true, i18n("Setup Space Screen Saver"), - Ok|Cancel|Help, Ok, true ) -{ - setButtonText( Help, i18n( "A&bout" ) ); - readSettings(); - - TQWidget *page = new TQWidget( this ); - setMainWidget( page ); - TQHBoxLayout *hb = new TQHBoxLayout( page, 0, spacingHint() ); - TQVBoxLayout *vb = new TQVBoxLayout( hb, spacingHint() ); - - TQLabel *label; - TQSlider *slider; - - label = new TQLabel( i18n("Speed:"), page ); - vb->addWidget( label ); - - slider = new TQSlider(MINSPEED, MAXSPEED, 10, speed, Qt::Horizontal, - page ); - vb->addWidget( slider ); - slider->setTickmarks(TQSlider::Below); - slider->setTickInterval(10); - connect( slider, TQT_SIGNAL( valueChanged( int ) ), TQT_SLOT( slotSpeed( int ) ) ); - - label = new TQLabel( i18n("Warp interval:"), page ); - vb->addWidget( label ); - - slider = new TQSlider(MINWARP, MAXWARP, 3, warpinterval,Qt::Horizontal, page ); - vb->addWidget( slider ); - slider->setTickmarks(TQSlider::Below); - slider->setTickInterval(3); - connect( slider, TQT_SIGNAL( valueChanged( int ) ), TQT_SLOT( slotWarp( int ) ) ); - - vb->addStrut( 150 ); - vb->addStretch(); - - preview = new TQWidget( page ); - hb->addWidget( preview ); - preview->setFixedSize( 220, 170 ); - preview->setBackgroundColor( black ); - preview->show(); // otherwise saver does not get correct size - saver = new kSpaceSaver( preview->winId() ); -} - -void kSpaceSetup::readSettings() -{ - TDEConfig *config = klock_config(); - config->setGroup( "Settings" ); - - speed = config->readNumEntry( "Speed", speed ); - - if ( speed > MAXSPEED ) - speed = MAXSPEED; - else if ( speed < MINSPEED ) - speed = MINSPEED; - - warpinterval = config->readNumEntry( "WarpInterval", 15 ); - - delete config; -} - -void kSpaceSetup::slotSpeed( int num ) -{ - speed = num ; - - if ( saver ) - saver->setSpeed( speed ); -} - -void kSpaceSetup::slotWarp( int num ) -{ - warpinterval = num; - if ( saver ) - saver->setWarp( warpinterval ); -} - -void kSpaceSetup::slotOk() -{ - TDEConfig *config = klock_config(); - config->setGroup( "Settings" ); - - TQString sspeed; - sspeed.setNum( speed ); - config->writeEntry( "Speed", sspeed ); - - TQString interval; - interval.setNum( (int)warpinterval ); - config->writeEntry( "WarpInterval", interval ); - - config->sync(); - delete config; - accept(); -} - -void kSpaceSetup::slotHelp() -{ - KMessageBox::about(this, - i18n("KSpace\nCopyright (c) 1998\n" - "Bernd Johannes Wuebben <[email protected]>")); -} - - -/* -static GLenum Args(int argc, char **argv) -{ - GLint i; - - doubleBuffer = GL_FALSE; - directRender = GL_TRUE; - - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-sb") == 0) { - doubleBuffer = GL_FALSE; - } else if (strcmp(argv[i], "-db") == 0) { - doubleBuffer = GL_TRUE; - } else if (strcmp(argv[i], "-dr") == 0) { - directRender = GL_TRUE; - } else if (strcmp(argv[i], "-ir") == 0) { - directRender = GL_FALSE; - } - } - return GL_TRUE; -} - - - -void main(int argc, char **argv) -{ - GLenum type; - - if (Args(argc, argv) == GL_FALSE) { - tkQuit(); - } - - windW = 300; - windH = 300; - tkInitPosition(0, 0, 300, 300); - - type = TK_RGB; - type |= (doubleBuffer) ? TK_DOUBLE : TK_SINGLE; - type |= (directRender) ? TK_DIRECT : TK_INDIRECT; - tkInitDisplayMode(type); - - if (tkInitWindow("Stars") == GL_FALSE) { - tkQuit(); - } - - Init(); - - tkExposeFunc(Reshape); - tkReshapeFunc(Reshape); - tkKeyDownFunc(Key); - tkIdleFunc(Idle); - tkExec(); -} - -*/ diff --git a/kscreensaver/xsavers/space.h b/kscreensaver/xsavers/space.h deleted file mode 100644 index 2b0cc1ef..00000000 --- a/kscreensaver/xsavers/space.h +++ /dev/null @@ -1,64 +0,0 @@ - -#ifndef __SPACE_H__ -#define __SPACE_H__ - -#include <tqtimer.h> -#include <tqptrlist.h> -#include <kdialogbase.h> -#include <tqlineedit.h> -#include "saver.h" - -class kSpaceSaver : public kScreenSaver -{ - Q_OBJECT - -public: - kSpaceSaver( Drawable drawable ); - virtual ~kSpaceSaver(); - - void setSpeed( int spd ); - void setWarp( int l ); - void setPoints( int p ); - -protected: - void readSettings(); - -protected slots: - void slotTimeout(); - -protected: - TQTimer timer; - int colorContext; - - int counter; - int speed; - int maxLevels; - int numPoints; -}; - -class kSpaceSetup : public KDialogBase -{ - Q_OBJECT - -public: - kSpaceSetup( TQWidget *parent = NULL, const char *name = NULL ); - -protected: - void readSettings(); - -private slots: - void slotSpeed( int ); - void slotWarp( int ); - void slotOk(); - void slotHelp(); - -private: - TQWidget *preview; - kSpaceSaver *saver; - - int speed; - int warpinterval; -}; - -#endif - diff --git a/kscreensaver/xsavers/swarm.cpp b/kscreensaver/xsavers/swarm.cpp deleted file mode 100644 index 0707abc6..00000000 --- a/kscreensaver/xsavers/swarm.cpp +++ /dev/null @@ -1,419 +0,0 @@ -/*- - * swarm.c - swarm of bees for xlock, the X Window System lockscreen. - * - * Copyright (c) 1991 by Patrick J. Naughton. - * - * Revision History: - * 31-Aug-90: Adapted from xswarm by Jeff Butterworth. ([email protected]) - */ - -/* Ported to kscreensaver: - July 1997, Emanuel Pirker <[email protected]> - Contact me in case of problems, not the original author! - Last revised: 10-Jul-97 -*/ -// layout management added 1998/04/19 by Mario Weilguni <[email protected]> - -#define MAXSPEED 100 -#define MINSPEED 0 -#define DEFSPEED 50 -#define MAXBATCH 200 -#define MINBATCH 0 -#define DEFBATCH 20 - -#include <tqslider.h> -#include <kglobal.h> -#include <kconfig.h> -#include <krandomsequence.h> -#include "xlock.h" - -#undef index - -#define TIMES 4 /* number of time positions recorded */ -#define BEEACC 2 /* acceleration of bees */ -#define WASPACC 5 /* maximum acceleration of wasp */ -#define BEEVEL 12 /* maximum bee velocity */ -#define WASPVEL 10 /* maximum wasp velocity */ - -/* Macros */ -#define X(t,b) (sp->x[(t)*sp->beecount+(b)]) -#define Y(t,b) (sp->y[(t)*sp->beecount+(b)]) -#define balance_rand(v) (rnd.getLong(v)-((v)/2)) /* random number around 0 */ - -//ModeSpecOpt swarm_opts = {0, NULL, NULL, NULL}; - -typedef struct { - int pix; - int width; - int height; - int border; /* wasp won't go closer than this to the edge */ - int beecount; /* number of bees */ - XSegment segs[MAXBATCH]; /* bee lines */ - XSegment old_segs[MAXBATCH]; /* old bee lines */ - short x[MAXBATCH*TIMES]; - short y[MAXBATCH*TIMES]; /* bee positions x[time][bee#] */ - short xv[MAXBATCH]; - short yv[MAXBATCH]; /* bee velocities xv[bee#] */ - short wx[3]; - short wy[3]; - short wxv; - short wyv; -} swarmstruct; - -static swarmstruct swarms[MAXSCREENS]; - -void -initswarm(Window win, KRandomSequence &rnd) -{ - swarmstruct *sp = &swarms[screen]; - int b; - XWindowAttributes xwa; - - sp->beecount = batchcount; - (void) XGetWindowAttributes(dsp, win, &xwa); - sp->width = xwa.width; - sp->height = xwa.height; - - sp->border = (sp->width + sp->height) / 50; - - /* Clear the background. */ - XSetForeground(dsp, Scr[screen].gc, BlackPixel(dsp, screen)); - XFillRectangle(dsp, win, Scr[screen].gc, 0, 0, sp->width, sp->height); - - /* Now static data structures. epirker */ - //if (!sp->segs) { - //sp->segs = (XSegment *) malloc(sizeof (XSegment) * sp->beecount); - //sp->old_segs = (XSegment *) malloc(sizeof (XSegment) * sp->beecount); - //sp->x = (short *) malloc(sizeof (short) * sp->beecount * TIMES); - //sp->y = (short *) malloc(sizeof (short) * sp->beecount * TIMES); - //sp->xv = (short *) malloc(sizeof (short) * sp->beecount); - //sp->yv = (short *) malloc(sizeof (short) * sp->beecount); - //} - /* Initialize point positions, velocities, etc. */ - - /* wasp */ - sp->wx[0] = sp->border + rnd.getLong(sp->width - 2 * sp->border); - sp->wy[0] = sp->border + rnd.getLong(sp->height - 2 * sp->border); - sp->wx[1] = sp->wx[0]; - sp->wy[1] = sp->wy[0]; - sp->wxv = 0; - sp->wyv = 0; - - /* bees */ - for (b = 0; b < sp->beecount; b++) { - X(0, b) = rnd.getLong(sp->width); - X(1, b) = X(0, b); - Y(0, b) = rnd.getLong(sp->height); - Y(1, b) = Y(0, b); - sp->xv[b] = balance_rand(7); - sp->yv[b] = balance_rand(7); - } -} - - - -void -drawswarm(Window win, KRandomSequence &rnd) -{ - swarmstruct *sp = &swarms[screen]; - int b; - - /* <=- Wasp -=> */ - /* Age the arrays. */ - sp->wx[2] = sp->wx[1]; - sp->wx[1] = sp->wx[0]; - sp->wy[2] = sp->wy[1]; - sp->wy[1] = sp->wy[0]; - /* Accelerate */ - sp->wxv += balance_rand(WASPACC); - sp->wyv += balance_rand(WASPACC); - - /* Speed Limit Checks */ - if (sp->wxv > WASPVEL) - sp->wxv = WASPVEL; - if (sp->wxv < -WASPVEL) - sp->wxv = -WASPVEL; - if (sp->wyv > WASPVEL) - sp->wyv = WASPVEL; - if (sp->wyv < -WASPVEL) - sp->wyv = -WASPVEL; - - /* Move */ - sp->wx[0] = sp->wx[1] + sp->wxv; - sp->wy[0] = sp->wy[1] + sp->wyv; - - /* Bounce Checks */ - if ((sp->wx[0] < sp->border) || (sp->wx[0] > sp->width - sp->border - 1)) { - sp->wxv = -sp->wxv; - sp->wx[0] += sp->wxv; - } - if ((sp->wy[0] < sp->border) || (sp->wy[0] > sp->height - sp->border - 1)) { - sp->wyv = -sp->wyv; - sp->wy[0] += sp->wyv; - } - /* Don't let things settle down. */ - sp->xv[rnd.getLong(sp->beecount)] += balance_rand(3); - sp->yv[rnd.getLong(sp->beecount)] += balance_rand(3); - - /* <=- Bees -=> */ - for (b = 0; b < sp->beecount; b++) { - int distance, dx, dy; - - /* Age the arrays. */ - X(2, b) = X(1, b); - X(1, b) = X(0, b); - Y(2, b) = Y(1, b); - Y(1, b) = Y(0, b); - - /* Accelerate */ - dx = sp->wx[1] - X(1, b); - dy = sp->wy[1] - Y(1, b); - distance = abs(dx) + abs(dy); /* approximation */ - if (distance == 0) - distance = 1; - sp->xv[b] += (dx * BEEACC) / distance; - sp->yv[b] += (dy * BEEACC) / distance; - - /* Speed Limit Checks */ - if (sp->xv[b] > BEEVEL) - sp->xv[b] = BEEVEL; - if (sp->xv[b] < -BEEVEL) - sp->xv[b] = -BEEVEL; - if (sp->yv[b] > BEEVEL) - sp->yv[b] = BEEVEL; - if (sp->yv[b] < -BEEVEL) - sp->yv[b] = -BEEVEL; - - /* Move */ - X(0, b) = X(1, b) + sp->xv[b]; - Y(0, b) = Y(1, b) + sp->yv[b]; - - /* Fill the segment lists. */ - sp->segs[b].x1 = X(0, b); - sp->segs[b].y1 = Y(0, b); - sp->segs[b].x2 = X(1, b); - sp->segs[b].y2 = Y(1, b); - sp->old_segs[b].x1 = X(1, b); - sp->old_segs[b].y1 = Y(1, b); - sp->old_segs[b].x2 = X(2, b); - sp->old_segs[b].y2 = Y(2, b); - } - - XSetForeground(dsp, Scr[screen].gc, BlackPixel(dsp, screen)); - XDrawLine(dsp, win, Scr[screen].gc, - sp->wx[1], sp->wy[1], sp->wx[2], sp->wy[2]); - XDrawSegments(dsp, win, Scr[screen].gc, sp->old_segs, sp->beecount); - - XSetForeground(dsp, Scr[screen].gc, WhitePixel(dsp, screen)); - XDrawLine(dsp, win, Scr[screen].gc, - sp->wx[0], sp->wy[0], sp->wx[1], sp->wy[1]); - if (!mono && Scr[screen].npixels > 2) { - XSetForeground(dsp, Scr[screen].gc, Scr[screen].pixels[sp->pix]); - if (++sp->pix >= Scr[screen].npixels) - sp->pix = 0; - } - XDrawSegments(dsp, win, Scr[screen].gc, sp->segs, sp->beecount); -} - -//----------------------------------------------------------------------------- - -#include <tqcheckbox.h> -#include <tqlabel.h> -#include <tqcolor.h> -#include <tqlayout.h> - -#include <klocale.h> -#include <kmessagebox.h> - -#include "swarm.h" -#include "swarm.moc" -#include "helpers.h" - -#undef Below - -static kSwarmSaver *saver = NULL; - -void startScreenSaver( Drawable d ) -{ - if ( saver ) - return; - saver = new kSwarmSaver( d ); -} - -void stopScreenSaver() -{ - if ( saver ) - delete saver; - saver = NULL; -} - -int setupScreenSaver() -{ - kSwarmSetup dlg; - - return dlg.exec(); -} - -//----------------------------------------------------------------------------- - -kSwarmSaver::kSwarmSaver( Drawable drawable ) : kScreenSaver( drawable ) -{ - readSettings(); - - // Clear to background colour when exposed - XSetWindowBackground(tqt_xdisplay(), mDrawable, - BlackPixel(tqt_xdisplay(), tqt_xscreen())); - - colorContext = TQColor::enterAllocContext(); - - batchcount = maxLevels; - - initXLock( mGc ); - initswarm( mDrawable, rnd ); - - timer.start( speed ); - connect( &timer, TQT_SIGNAL( timeout() ), TQT_SLOT( slotTimeout() ) ); -} - -kSwarmSaver::~kSwarmSaver() -{ - timer.stop(); - TQColor::leaveAllocContext(); - TQColor::destroyAllocContext( colorContext ); -} - -void kSwarmSaver::setSpeed( int spd ) -{ - timer.stop(); - speed = MAXSPEED - spd; - timer.start( speed ); -} - -void kSwarmSaver::setLevels( int l ) -{ - batchcount = maxLevels = l; - initswarm( mDrawable, rnd ); -} - -void kSwarmSaver::readSettings() -{ - TDEConfig *config = klock_config(); - config->setGroup( "Settings" ); - - speed = MAXSPEED - config->readNumEntry( "Speed", MAXSPEED - DEFSPEED ); - maxLevels = config->readNumEntry( "MaxLevels", DEFBATCH ); - - delete config; -} - -void kSwarmSaver::slotTimeout() -{ - drawswarm( mDrawable, rnd ); -} - -//----------------------------------------------------------------------------- - -kSwarmSetup::kSwarmSetup( TQWidget *parent, const char *name ) - : KDialogBase( parent, name, true, i18n( "Setup Swarm Screen Saver" ), - Ok|Cancel|Help, Ok, true ) -{ - readSettings(); - - setButtonText( Help, i18n( "A&bout" ) ); - TQWidget *main = makeMainWidget(); - - TQHBoxLayout *top = new TQHBoxLayout( main, 0, spacingHint() ); - TQVBoxLayout *left = new TQVBoxLayout(top, spacingHint()); - - TQLabel *label = new TQLabel( i18n("Speed:"), main ); - min_size(label); - left->addWidget(label); - - TQSlider *slider = new TQSlider(MINSPEED, MAXSPEED, 10, speed, - Qt::Horizontal, main ); - slider->setMinimumSize( 120, 20 ); - slider->setTickmarks(TQSlider::Below); - slider->setTickInterval(10); - connect( slider, TQT_SIGNAL( valueChanged( int ) ), - TQT_SLOT( slotSpeed( int ) ) ); - left->addWidget(slider); - - label = new TQLabel( i18n("Number of bees:"), main ); - min_size(label); - left->addWidget(label); - - slider = new TQSlider(MINBATCH, MAXBATCH, 20, maxLevels,Qt::Horizontal, main ); - slider->setMinimumSize( 120, 20 ); - slider->setTickmarks(TQSlider::Below); - slider->setTickInterval(20); - connect( slider, TQT_SIGNAL( valueChanged( int ) ), - TQT_SLOT( slotLevels( int ) ) ); - left->addWidget(slider); - left->addStretch(); - - preview = new TQWidget( main ); - preview->setFixedSize( 220, 170 ); - preview->setBackgroundColor( black ); - preview->show(); // otherwise saver does not get correct size - saver = new kSwarmSaver( preview->winId() ); - top->addWidget(preview); - - top->addStretch(); -} - -void kSwarmSetup::readSettings() -{ - TDEConfig *config = klock_config(); - config->setGroup( "Settings" ); - - speed = config->readNumEntry( "Speed", speed ); - - if ( speed > MAXSPEED ) - speed = MAXSPEED; - else if ( speed < MINSPEED ) - speed = MINSPEED; - - maxLevels = config->readNumEntry( "MaxLevels", DEFBATCH ); - delete config; -} - -void kSwarmSetup::slotSpeed( int num ) -{ - speed = num; - - if ( saver ) - saver->setSpeed( speed ); -} - -void kSwarmSetup::slotLevels( int num ) -{ - maxLevels = num; - - if ( saver ) - saver->setLevels( maxLevels ); -} - -void kSwarmSetup::slotOk() -{ - TDEConfig *config = klock_config(); - config->setGroup( "Settings" ); - - TQString sspeed; - sspeed.setNum( speed ); - config->writeEntry( "Speed", sspeed ); - - TQString slevels; - slevels.setNum( maxLevels ); - config->writeEntry( "MaxLevels", slevels ); - - config->sync(); - delete config; - accept(); -} - -void kSwarmSetup::slotHelp() -{ - KMessageBox::information(this, - i18n("Swarm\n\nCopyright (c) 1991 by Patrick J. Naughton\n\nPorted to kscreensaver by Emanuel Pirker."), - i18n("About Swarm")); -} diff --git a/kscreensaver/xsavers/swarm.h b/kscreensaver/xsavers/swarm.h deleted file mode 100644 index d8cca36c..00000000 --- a/kscreensaver/xsavers/swarm.h +++ /dev/null @@ -1,67 +0,0 @@ -//----------------------------------------------------------------------------- -// -// kswarm - port of "swarm" from xlock -// - -#ifndef __SWARM_H__ -#define __SWARM_H__ - -#include <tqtimer.h> - -#include <kdialogbase.h> -#include "saver.h" - - -class kSwarmSaver : public kScreenSaver -{ - Q_OBJECT - -public: - kSwarmSaver( Drawable drawable ); - virtual ~kSwarmSaver(); - - void setSpeed( int spd ); - void setLevels( int l ); - -protected: - void readSettings(); - -protected slots: - void slotTimeout(); - -protected: - KRandomSequence rnd; - TQTimer timer; - int colorContext; - - int speed; - int maxLevels; -}; - -class kSwarmSetup : public KDialogBase -{ - Q_OBJECT - -public: - kSwarmSetup( TQWidget *parent = NULL, const char *name = NULL ); - -protected: - void readSettings(); - -private slots: - void slotSpeed( int ); - void slotLevels( int ); - - void slotOk(); - void slotHelp(); - -private: - TQWidget *preview; - kSwarmSaver *saver; - - int speed; - int maxLevels; -}; - -#endif - diff --git a/kscreensaver/xsavers/xlock.cpp b/kscreensaver/xsavers/xlock.cpp deleted file mode 100644 index 7b826158..00000000 --- a/kscreensaver/xsavers/xlock.cpp +++ /dev/null @@ -1,86 +0,0 @@ -//---------------------------------------------------------------------------- -// This module contains code to interface original xlock savers to -// kscreensave -// - -#include <time.h> -#include <tqapplication.h> -#include "xlock.h" - - -int screen; -Display *dsp; -perscreen Scr[MAXSCREENS]; -int batchcount = 100; -int cycles = 100; -Bool mono = 0; -//Bool allowroot = 0; -char *ProgramName; -/* -Dr. Park's algorithm published in the Oct. '88 ACM -"Random Number Generators: Good Ones Are Hard To Find" -His version available at ftp://cs.wm.edu/pub/rngs.tar -Present form by many authors. -*/ - -static int Seed = 1; /* This is required to be 32 bits long */ - -/* - * Given an integer, this routine initializes the RNG seed. - */ -void SetRNG(long s) -{ - Seed = (int) s; -} - -/* - * Returns an integer between 0 and 2147483647, inclusive. - */ -long LongRNG() -{ - if ((Seed = Seed % 44488 * 48271 - Seed / 44488 * 3399) < 0) - Seed += 2147483647; - return (long) (Seed - 1); -} - -unsigned long -allocpixel(Colormap cmap, const char *name, const char *def) -{ - XColor col; - XColor tmp; - XParseColor(dsp, cmap, name, &col); - if (!XAllocColor(dsp, cmap, &col)) - { - fprintf(stderr, "couldn't allocate: %s, using %s instead\n", name, def); - XAllocNamedColor(dsp, cmap, def, &col, &tmp); - } - - return col.pixel; -} - -void initXLock( GC gc ) -{ - SetRNG( time(NULL) ); - - dsp = tqt_xdisplay(); - screen = tqt_xscreen(); - - Screen *scr = ScreenOfDisplay(dsp, screen); - - Scr[0].gc = gc; - Scr[0].npixels = NUMCOLORS; - Scr[0].cmap = None; - - Colormap cmap = DefaultColormapOfScreen(scr); - Scr[0].bgcol = allocpixel(cmap, "background", "White"); - Scr[0].bgcol = allocpixel(cmap, "foreground", "Black"); - - TQColor color; - - for ( int i = 0; i < NUMCOLORS; i++ ) - { - color.setHsv( i * 360 / NUMCOLORS, 255, 255 ); - Scr[0].pixels[i] = color.alloc(); - } -} - diff --git a/kscreensaver/xsavers/xlock.h b/kscreensaver/xsavers/xlock.h deleted file mode 100644 index 77530a9f..00000000 --- a/kscreensaver/xsavers/xlock.h +++ /dev/null @@ -1,229 +0,0 @@ -#ifndef __XLOCK_H__ -#define __XLOCK_H__ - -/*- - * @(#)xlock.h 3.3 95/09/24 xlockmore - * - * xlock.h - external interfaces for new modes and SYSV OS defines. - * - * Copyright (c) 1991 by Patrick J. Naughton. - * - * See xlock.c for copying information. - * - * Revision History: - * - * Changes of David Bagley <[email protected]> - * 12-May-95: Added defines for SunOS's Adjunct password file - * Dale A. Harris <[email protected]> - * 18-Nov-94: Modified for TQNX 4.2 w/ Metrolink X server from Brian Campbell - * <[email protected]>. - * 11-Jul-94: added Bool flag: inwindow, which tells xlock to run in a - * window from Greg Bowering <[email protected]> - * 11-Jul-94: patch for Solaris SYR4 from Chris P. Ross <[email protected]> - * 28-Jun-94: Reorganized shadow stuff - * 24-Jun-94: Reorganized - * 22-Jun-94: Modified for VMS - * <[email protected]> - * 17-Jun-94: patched shadow passwords and bcopy and bzero for SYSV from - * <[email protected]> - * 21-Mar-94: patched the patch for AIXV3 and HP from - * <[email protected]>. - * 01-Dec-93: added patch for AIXV3 from - * (Tom McConnell, [email protected]) also added a patch - * for HP-UX 8.0. - * - */ - -#include <tqapplication.h> // hack for qt-1.2 -#include <X11/Xlib.h> -#include <X11/Xutil.h> -#include <X11/Xos.h> -#include <X11/Xresource.h> - -// added for kscreensave -void initXLock( GC gc ); - - -#define MAXSCREENS 1 -#define NUMCOLORS 64 -#ifndef KERBEROS -#define PASSLENGTH 64 -#else -#define PASSLENGTH 120 -#endif -#define FALLBACK_FONTNAME "fixed" -#ifndef DEF_MFONT -#define DEF_MFONT "-*-times-*-*-*-*-18-*-*-*-*-*-*-*" -#endif -#ifndef DEF_PROGRAM /* Try the -o option ;) */ -#define DEF_PROGRAM "fortune -s" -#endif - -#define ICONW 64 -#define ICONH 64 - -#if defined VMS || defined __TQNX__ -#ifdef VMS -/*#define VMS_PLAY*/ -#include <unixlib.h> -#endif -#endif - -#include <math.h> - -#ifndef M_E -#define M_E 2.7182818284590452354 -#endif -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif -#ifndef M_PI_2 -#define M_PI_2 1.57079632679489661923 -#endif - -#if !defined (news1800) && !defined (sun386) -#include <stdlib.h> -#if !defined (apollo) && !defined (VMS) -#include <unistd.h> -#include <memory.h> -#endif -#endif -#include <stdio.h> -#include <string.h> - -typedef struct { - GC gc; /* graphics context for animation */ - int npixels; /* number of valid entries in pixels */ - Colormap cmap; /* current colormap */ - unsigned long pixels[NUMCOLORS]; /* pixel values in the colormap */ - unsigned long bgcol, fgcol; /* background and foreground pixel values */ -} perscreen; - -/* This stuff moved here from resource.c for the mode-specific options. */ -#define t_String 0 -#define t_Float 1 -#define t_Int 2 -#define t_Bool 3 - -typedef struct { - caddr_t *var; - char *name; - char *arg_class; - char *def; - int type; -} argtype; - -typedef struct { - char *opt; - char *desc; -} OptionStruct; - -typedef struct { - int numopts; - XrmOptionDescRec *opts; - argtype *vars; - OptionStruct *desc; -} ModeSpecOpt; -/* End moved from resource.c */ - -extern perscreen Scr[MAXSCREENS]; -extern Display *dsp; -extern int screen; - -extern char *ProgramName; -extern char *fontname; -extern char *background; -extern char *foreground; -extern char *text_name; -extern char *text_pass; -extern char *text_info; -extern char *text_valid; -extern char *text_invalid; -extern char *geometry; -extern float saturation; -extern int nicelevel; -extern int delay; -extern int batchcount; -extern int cycles; -extern int timeout; -extern int lockdelay; -#if defined(HAS_RPLAY) || defined(VMS_PLAY) -extern char *locksound; -extern char *infosound; -extern char *validsound; -/*extern char *invalidsound;*/ -#endif -#ifdef AUTO_LOGOUT -extern int forceLogout; -#endif -#ifdef LOGOUT_BUTTON -extern int enable_button; -extern char *logoutButtonLabel; -extern char *logoutButtonHelp; -extern char *logoutFailedString; -#endif -extern Bool usefirst; -extern Bool mono; -extern Bool nolock; -extern Bool allowroot; -extern Bool enablesaver; -extern Bool allowaccess; -extern Bool grabmouse; -extern Bool echokeys; -extern Bool verbose; -extern Bool inwindow; -extern Bool inroot; -extern Bool timeelapsed; -extern Bool install; -extern int onepause; - -/* For modes with text, marquee & nose */ -extern char *program; -extern char *messagesfile; -extern char *messagefile; -extern char *message; -extern char *mfont; - -extern void (*callback) (); -extern void (*init) (); - -extern void GetResources(); -extern void set_colormap(); -extern void fix_colormap(); -#ifdef __STDC__ -extern void error(char *, ...); -#else -extern void error(); -#endif -extern void alarm_ctl(); -extern long seconds(); - -/* For modes with text, marquee & nose */ -extern XFontStruct *get_font(); -extern char *get_words(); -extern void init_words(); -extern int is_ribbon(); - -#ifdef LESS_THAN_AIX3_2 -#undef NULL -#define NULL 0 -#endif /* LESS_THAN_AIX3_2 */ - -#ifdef VMS -#define OLD_EVENT_LOOP -#endif - -#if defined(__STDC__) && (defined(__hpux) && defined(_PA_RISC1_1)) -#define MATHF -#endif -#ifdef MATHF -#define SINF(n) sinf(n) -#define COSF(n) cosf(n) -#define FABSF(n) fabsf(n) -#else -#define SINF(n) ((float)sin((double)(n))) -#define COSF(n) ((float)cos((double)(n))) -#define FABSF(n) ((float)fabs((double)(n))) -#endif - -#endif /* __XLOCK_H__ */ diff --git a/kscreensaver/xsavers/xlockmore.h b/kscreensaver/xsavers/xlockmore.h deleted file mode 100644 index 277783ae..00000000 --- a/kscreensaver/xsavers/xlockmore.h +++ /dev/null @@ -1,261 +0,0 @@ -#ifndef __XLOCK_XLOCK_H__ -#define __XLOCK_XLOCK_H__ - -/*- - * @(#)xlock.h 4.00 97/01/01 xlockmore - * - * xlock.h - external interfaces for new modes and SYSV OS defines. - * - * Copyright (c) 1991 by Patrick J. Naughton. - * - * See xlock.c for copying information. - * - * Revision History: - * - * Changes of David Bagley <[email protected]> - * 12-May-95: Added defines for SunOS's Adjunct password file - * Dale A. Harris <[email protected]> - * 18-Nov-94: Modified for TQNX 4.2 w/ Metrolink X server from Brian Campbell - * <[email protected]>. - * 11-Jul-94: added Bool flag: inwindow, which tells xlock to run in a - * window from Greg Bowering <[email protected]> - * 11-Jul-94: patch for Solaris SYR4 from Chris P. Ross <[email protected]> - * 28-Jun-94: Reorganized shadow stuff - * 24-Jun-94: Reorganized - * 22-Jun-94: Modified for VMS - * <[email protected]> - * 17-Jun-94: patched shadow passwords and bcopy and bzero for SYSV from - * <[email protected]> - * 21-Mar-94: patched the patch for AIXV3 and HP from - * <[email protected]>. - * 01-Dec-93: added patch for AIXV3 from - * (Tom McConnell, [email protected]) also added a patch - * for HP-UX 8.0. - * - */ -#include <X11/Xlib.h> -#include <X11/Xutil.h> -#include <X11/Xos.h> -#include <X11/Xresource.h> - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -/* out of main.cpp */ -#define MODE_NONE 0 -#define MODE_INSTALL 1 -#define MODE_SETUP 2 -#define MODE_PREVIEW 3 -#define MODE_TEST 4 - - -#ifndef MAXSCREENS -#define MAXSCREENS 3 -#endif -#ifndef NUMCOLORS -#define NUMCOLORS 64 -#endif -#ifndef MESSAGELINES -#define MESSAGELINES 40 -#endif -#define PASSLENGTH 120 -#define FALLBACK_FONTNAME "fixed" -#ifndef DEF_MFONT -#define DEF_MFONT "-*-times-*-*-*-*-18-*-*-*-*-*-*-*" -#endif -#ifndef DEF_PROGRAM /* Try the -o option ;) */ -#define DEF_PROGRAM "fortune -s" -#endif - -#ifndef DEF_NONE3D -#define DEF_NONE3D "Black" -#endif -#ifndef DEF_RIGHT3D -#define DEF_RIGHT3D "Red" -#endif -#ifndef DEF_LEFT3D -#define DEF_LEFT3D "Blue" -#endif -#ifndef DEF_BOTH3D -#define DEF_BOTH3D "Magenta" -#endif - -#ifndef DEF_ICONW -#define DEF_ICONW 64 /* Age old default */ -#endif -#ifndef DEF_ICONH -#define DEF_ICONH 64 -#endif - -#define MINICONW 1 /* Will not see much */ -#define MINICONH 1 - -#ifndef MAXICONW -#define MAXICONW 256 /* Want users to know the screen is locked */ -#endif -#ifndef MAXICONH -#define MAXICONH 256 /* by a particular user */ -#endif - -#ifndef MIN -#define MIN(a,b) (((a)<(b))?(a):(b)) -#endif - -#ifndef MAX -#define MAX(a,b) (((a)>(b))?(a):(b)) -#endif - -#ifndef ABS -#define ABS(a) ((a<0)?(-(a)):(a)) -#endif - -#include <math.h> -#ifndef M_E -#define M_E 2.7182818284590452354 -#endif -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif -#ifndef M_PI_2 -#define M_PI_2 1.57079632679489661923 -#endif -#if VMS -#include <unixlib.h> -#endif -#include <sys/types.h> -#if 0 -#ifndef uid_t -#define uid_t int -#endif -#ifndef gid_t -#define gid_t int -#endif -#ifndef pid_t -#define pid_t int -#endif -#ifndef size_t -#define size_t unsigned -#endif -#endif -#include <unistd.h> -#if HAVE_MEMORY_H -#include <memory.h> -#endif -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#if HAVE_DIRENT_H -#ifdef USE_XVMSUTILS -#if 0 -#include "../xvmsutils/unix_types.h" -#include "../xvmsutils/dirent.h" -#else -#include <X11/unix_types.h> -#include <X11/dirent.h> -#endif -#else /* !USE_XVMSUTILS */ -#include <dirent.h> -#endif /* !USE_XVMSUTILS */ -#else -#define dirent direct -#define NAMELEN(dirent) (dirent)->d_namelen -#if HAVE_SYS_NDIR_H -#include <sys/ndir.h> -#endif -#if HAVE_SYS_DIR_H -#include <sys/dir.h> -#endif -#if HAVE_NDIR_H -#include <ndir.h> -#endif -#endif -#ifndef MAXNAMLEN -#define MAXNAMLEN 256 /* maximum filename length */ -#endif -#ifndef DIRBUF -#define DIRBUF 512 /* buffer size for fs-indep. dirs */ -#endif - -typedef struct { - GC gc; /* graphics context for animation */ - int npixels; /* number of valid entries in pixels */ - Colormap cmap; /* current colormap */ - unsigned long pixels[NUMCOLORS]; /* pixel values in the colormap */ - unsigned long bgcol, fgcol; /* background and foreground pixel values */ - unsigned long rightcol, leftcol; /* 3D color pixel values */ - unsigned long nonecol, bothcol; -} perscreen; - -#define t_String 0 -#define t_Float 1 -#define t_Int 2 -#define t_Bool 3 - -typedef struct { - caddr_t *var; - char *name; - char *classname; - char *def; - int type; -} argtype; - -typedef struct { - char *opt; - char *desc; -} OptionStruct; - -typedef struct { - int numopts; - XrmOptionDescRec *opts; - int numvarsdesc; - argtype *vars; - OptionStruct *desc; -} ModeSpecOpt; - -/* this must follow definition of ModeSpecOpt */ -#include "mode.h" - -#define IS_XBMDONE 1 /* Only need one mono image */ -#define IS_XBM 2 -#define IS_XBMFILE 3 -#define IS_XPM 4 -#define IS_XPMFILE 5 -#define IS_RASTERFILE 6 - -extern void getResources(int argc, char **argv); -extern unsigned long allocPixel(Display * display, Colormap cmap, - char *name, char *def); -extern void setColormap(Display * display, Window window, Colormap map, - Bool inwindow); -extern void reserveColors(ModeInfo * mi, Colormap cmap, - unsigned long *blackpix, unsigned long *whitepix); -extern void fixColormap(Display * display, Window window, - int screen, float saturation, - Bool mono, Bool install, Bool inroot, Bool inwindow, Bool verbose); -extern int visualClassFromName(char *name); -extern void showVisualInfo(XVisualInfo * wantVis); -#ifdef USE_GL -extern int getVisual(ModeInfo * mi, XVisualInfo * wantVis, int mono); -#endif - -extern unsigned long seconds(void); -extern void finish(void); -extern void error(char *s1,...); -extern void warning(char *s1,...); - -#ifndef HAVE_STRDUP -extern char *strdup(char *); -#endif - -#ifdef MATHF -#define SINF(n) sinf(n) -#define COSF(n) cosf(n) -#define FABSF(n) fabsf(n) -#else -#define SINF(n) ((float)sin((double)(n))) -#define COSF(n) ((float)cos((double)(n))) -#define FABSF(n) ((float)fabs((double)(n))) -#endif - -#endif /* __XLOCK_XLOCK_H__ */ diff --git a/kscreensaver/xsavers/xs_colors.c b/kscreensaver/xsavers/xs_colors.c deleted file mode 100644 index 82dab33b..00000000 --- a/kscreensaver/xsavers/xs_colors.c +++ /dev/null @@ -1,693 +0,0 @@ -/* xscreensaver, Copyright (c) 1997 Jamie Zawinski <[email protected]> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -/* This file contains some utility routines for randomly picking the colors - to hack the screen with. - */ - -#include <stdlib.h> -#include <stdio.h> -#include <math.h> - -#include <X11/Xlib.h> -#include <X11/Xutil.h> -#include <X11/Xos.h> -#include <X11/Xresource.h> - -#include "xs_visual.h" -#include "xs_yarandom.h" -#include "xs_hsv.h" -#include "xs_colors.h" - -/* extern char *progname; */ - -void -free_colors(Display *dpy, Colormap cmap, XColor *colors, int ncolors) -{ - int i; - if (ncolors > 0) - { - unsigned long *pixels = (unsigned long *) - malloc(sizeof(*pixels) * ncolors); - for (i = 0; i < ncolors; i++) - pixels[i] = colors[i].pixel; - XFreeColors (dpy, cmap, pixels, ncolors, 0L); - free(pixels); - } -} - - -void -allocate_writable_colors (Display *dpy, Colormap cmap, - unsigned long *pixels, int *ncolorsP) -{ - int desired = *ncolorsP; - int got = 0; - int requested = desired; - unsigned long *new_pixels = pixels; - - *ncolorsP = 0; - while (got < desired - && requested > 0) - { - if (desired - got < requested) - requested = desired - got; - - if (XAllocColorCells (dpy, cmap, False, 0, 0, new_pixels, requested)) - { - /* Got all the pixels we asked for. */ - new_pixels += requested; - got += requested; - } - else - { - /* We didn't get all/any of the pixels we asked for. This time, ask - for half as many. (If we do get all that we ask for, we ask for - the same number again next time, so we only do O(log(n)) server - roundtrips.) - */ - requested = requested / 2; - } - } - *ncolorsP += got; -} - - - -void -make_color_ramp (Display *dpy, Colormap cmap, - int h1, double s1, double v1, /* 0-360, 0-1.0, 0-1.0 */ - int h2, double s2, double v2, /* 0-360, 0-1.0, 0-1.0 */ - XColor *colors, int *ncolorsP, - Bool closed_p, - Bool allocate_p, - Bool writable_p) -{ - int i; - int ncolors = *ncolorsP; - double dh, ds, dv; /* deltas */ - - AGAIN: - - memset (colors, 0, (*ncolorsP) * sizeof(*colors)); - - if (closed_p) - ncolors = (ncolors / 2) + 1; - - /* Note: unlike other routines in this module, this function assumes that - if h1 and h2 are more than 180 degrees apart, then the desired direction - is always from h1 to h2 (rather than the shorter path.) make_uniform - depends on this. - */ - dh = ((double)h2 - (double)h1) / ncolors; - ds = (s2 - s1) / ncolors; - dv = (v2 - v1) / ncolors; - - for (i = 0; i < ncolors; i++) - { - colors[i].flags = DoRed|DoGreen|DoBlue; - hsv_to_rgb ((int) (h1 + (i*dh)), (s1 + (i*ds)), (v1 + (i*dv)), - &colors[i].red, &colors[i].green, &colors[i].blue); - } - - if (closed_p) - for (i = ncolors; i < *ncolorsP; i++) - colors[i] = colors[(*ncolorsP)-i]; - - if (!allocate_p) - return; - - if (writable_p) - { - unsigned long *pixels = (unsigned long *) - malloc(sizeof(*pixels) * ((*ncolorsP) + 1)); - - /* allocate_writable_colors() won't do here, because we need exactly this - number of cells, or the color sequence we've chosen won't fit. */ - if (! XAllocColorCells(dpy, cmap, False, 0, 0, pixels, *ncolorsP)) - { - free(pixels); - goto FAIL; - } - - for (i = 0; i < *ncolorsP; i++) - colors[i].pixel = pixels[i]; - free (pixels); - - XStoreColors (dpy, cmap, colors, *ncolorsP); - } - else - { - for (i = 0; i < *ncolorsP; i++) - { - XColor color; - color = colors[i]; - if (XAllocColor (dpy, cmap, &color)) - { - colors[i].pixel = color.pixel; - } - else - { - free_colors (dpy, cmap, colors, i); - goto FAIL; - } - } - } - - return; - - FAIL: - /* we weren't able to allocate all the colors we wanted; - decrease the requested number and try again. - */ - ncolors = (ncolors > 170 ? ncolors - 20 : - ncolors > 100 ? ncolors - 10 : - ncolors > 75 ? ncolors - 5 : - ncolors > 25 ? ncolors - 3 : - ncolors > 10 ? ncolors - 2 : - ncolors > 2 ? ncolors - 1 : - 0); - *ncolorsP = ncolors; - if (ncolors > 0) - goto AGAIN; -} - - -#define MAXPOINTS 50 /* yeah, so I'm lazy */ - - -static void -make_color_path (Display *dpy, Colormap cmap, - int npoints, int *h, double *s, double *v, - XColor *colors, int *ncolorsP, - Bool allocate_p, - Bool writable_p) -{ - int i, j, k; - int total_ncolors = *ncolorsP; - - int ncolors[MAXPOINTS]; /* number of pixels per edge */ - double dh[MAXPOINTS]; /* distance between pixels, per edge (0 - 360.0) */ - double ds[MAXPOINTS]; /* distance between pixels, per edge (0 - 1.0) */ - double dv[MAXPOINTS]; /* distance between pixels, per edge (0 - 1.0) */ - - if (npoints == 0) - { - *ncolorsP = 0; - return; - } - else if (npoints == 2) /* using make_color_ramp() will be faster */ - { - make_color_ramp (dpy, cmap, - h[0], s[0], v[0], h[1], s[1], v[1], - colors, ncolorsP, - True, /* closed_p */ - allocate_p, writable_p); - return; - } - else if (npoints >= MAXPOINTS) - { - npoints = MAXPOINTS-1; - } - - AGAIN: - - { - double DH[MAXPOINTS]; /* Distance between H values in the shortest - direction around the circle, that is, the - distance between 10 and 350 is 20. - (Range is 0 - 360.0.) - */ - double edge[MAXPOINTS]; /* lengths of edges in unit HSV space. */ - double ratio[MAXPOINTS]; /* proportions of the edges (total 1.0) */ - double circum = 0; - double one_point_oh = 0; /* (debug) */ - - for (i = 0; i < npoints; i++) - { - int j = (i+1) % npoints; - double d = ((double) (h[i] - h[j])) / 360; - if (d < 0) d = -d; - if (d > 0.5) d = 0.5 - (d - 0.5); - DH[i] = d; - } - - for (i = 0; i < npoints; i++) - { - int j = (i+1) % npoints; - edge[i] = sqrt((DH[i] * DH[j]) + - ((s[j] - s[i]) * (s[j] - s[i])) + - ((v[j] - v[i]) * (v[j] - v[i]))); - circum += edge[i]; - } - -#ifdef DEBUG - fprintf(stderr, "\ncolors:"); - for (i=0; i < npoints; i++) - fprintf(stderr, " (%d, %.3f, %.3f)", h[i], s[i], v[i]); - fprintf(stderr, "\nlengths:"); - for (i=0; i < npoints; i++) - fprintf(stderr, " %.3f", edge[i]); -#endif /* DEBUG */ - - if (circum < 0.0001) - goto FAIL; - - for (i = 0; i < npoints; i++) - { - ratio[i] = edge[i] / circum; - one_point_oh += ratio[i]; - } - -#ifdef DEBUG - fprintf(stderr, "\nratios:"); - for (i=0; i < npoints; i++) - fprintf(stderr, " %.3f", ratio[i]); -#endif /* DEBUG */ - - if (one_point_oh < 0.99999 || one_point_oh > 1.00001) - abort(); - - /* space the colors evenly along the circumference -- that means that the - number of pixels on a edge is proportional to the length of that edge - (relative to the lengths of the other edges.) - */ - for (i = 0; i < npoints; i++) - ncolors[i] = total_ncolors * ratio[i]; - - -#ifdef DEBUG - fprintf(stderr, "\npixels:"); - for (i=0; i < npoints; i++) - fprintf(stderr, " %d", ncolors[i]); - fprintf(stderr, " (%d)\n", total_ncolors); -#endif /* DEBUG */ - - for (i = 0; i < npoints; i++) - { - int j = (i+1) % npoints; - - if (ncolors[i] > 0) - { - dh[i] = 360 * (DH[i] / ncolors[i]); - ds[i] = (s[j] - s[i]) / ncolors[i]; - dv[i] = (v[j] - v[i]) / ncolors[i]; - } - } - } - - memset (colors, 0, (*ncolorsP) * sizeof(*colors)); - - k = 0; - for (i = 0; i < npoints; i++) - { - int distance, direction; - distance = h[(i+1) % npoints] - h[i]; - direction = (distance >= 0 ? -1 : 1); - - if (distance > 180) - distance = 180 - (distance - 180); - else if (distance < -180) - distance = -(180 - ((-distance) - 180)); - else - direction = -direction; - -#ifdef DEBUG - fprintf (stderr, "point %d: %3d %.2f %.2f\n", - i, h[i], s[i], v[i]); - fprintf(stderr, " h[i]=%d dh[i]=%.2f ncolors[i]=%d\n", - h[i], dh[i], ncolors[i]); -#endif /* DEBUG */ - for (j = 0; j < ncolors[i]; j++, k++) - { - double hh = (h[i] + (j * dh[i] * direction)); - if (hh < 0) hh += 360; - else if (hh > 360) hh -= 0; - colors[k].flags = DoRed|DoGreen|DoBlue; - hsv_to_rgb ((int) - hh, - (s[i] + (j * ds[i])), - (v[i] + (j * dv[i])), - &colors[k].red, &colors[k].green, &colors[k].blue); -#ifdef DEBUG - fprintf (stderr, "point %d+%d: %.2f %.2f %.2f %04X %04X %04X\n", - i, j, - hh, - (s[i] + (j * ds[i])), - (v[i] + (j * dv[i])), - colors[k].red, colors[k].green, colors[k].blue); -#endif /* DEBUG */ - } - } - - /* Floating-point round-off can make us decide to use fewer colors. */ - if (k < *ncolorsP) - { - *ncolorsP = k; - if (k <= 0) - return; - } - - if (!allocate_p) - return; - - if (writable_p) - { - unsigned long *pixels = (unsigned long *) - malloc(sizeof(*pixels) * ((*ncolorsP) + 1)); - - /* allocate_writable_colors() won't do here, because we need exactly this - number of cells, or the color sequence we've chosen won't fit. */ - if (! XAllocColorCells(dpy, cmap, False, 0, 0, pixels, *ncolorsP)) - { - free(pixels); - goto FAIL; - } - - for (i = 0; i < *ncolorsP; i++) - colors[i].pixel = pixels[i]; - free (pixels); - - XStoreColors (dpy, cmap, colors, *ncolorsP); - } - else - { - for (i = 0; i < *ncolorsP; i++) - { - XColor color; - color = colors[i]; - if (XAllocColor (dpy, cmap, &color)) - { - colors[i].pixel = color.pixel; - } - else - { - free_colors (dpy, cmap, colors, i); - goto FAIL; - } - } - } - - return; - - FAIL: - /* we weren't able to allocate all the colors we wanted; - decrease the requested number and try again. - */ - total_ncolors = (total_ncolors > 170 ? total_ncolors - 20 : - total_ncolors > 100 ? total_ncolors - 10 : - total_ncolors > 75 ? total_ncolors - 5 : - total_ncolors > 25 ? total_ncolors - 3 : - total_ncolors > 10 ? total_ncolors - 2 : - total_ncolors > 2 ? total_ncolors - 1 : - 0); - *ncolorsP = total_ncolors; - if (total_ncolors > 0) - goto AGAIN; -} - - -void -make_color_loop (Display *dpy, Colormap cmap, - int h0, double s0, double v0, /* 0-360, 0-1.0, 0-1.0 */ - int h1, double s1, double v1, /* 0-360, 0-1.0, 0-1.0 */ - int h2, double s2, double v2, /* 0-360, 0-1.0, 0-1.0 */ - XColor *colors, int *ncolorsP, - Bool allocate_p, - Bool writable_p) -{ - int h[3]; - double s[3], v[3]; - h[0] = h0; h[1] = h1; h[2] = h2; - s[0] = s0; s[1] = s1; s[2] = s2; - v[0] = v0; v[1] = v1; v[2] = v2; - make_color_path(dpy, cmap, - 3, h, s, v, - colors, ncolorsP, - allocate_p, writable_p); -} - - -static void -complain (int wanted_colors, int got_colors, - Bool wanted_writable, Bool got_writable) -{ - if (wanted_writable && !got_writable) - fprintf(stderr, - "%s: wanted %d writable colors; got %d read-only colors.\n", - "colors (kscreensaver)", wanted_colors, got_colors); - - else if (wanted_colors > (got_colors + 10)) - /* don't bother complaining if we're within ten pixels. */ - fprintf(stderr, "%s: wanted %d%s colors; got %d.\n", - "colors (kscreensaver)", wanted_colors, (got_writable ? " writable" : ""), - got_colors); -} - - -void -make_smooth_colormap (Display *dpy, Visual *visual, Colormap cmap, - XColor *colors, int *ncolorsP, - Bool allocate_p, - Bool *writable_pP, - Bool verbose_p) -{ - int npoints; - int ncolors = *ncolorsP; - Bool wanted_writable = (allocate_p && writable_pP && *writable_pP); - int i; - int h[MAXPOINTS]; - double s[MAXPOINTS]; - double v[MAXPOINTS]; - double total_s = 0; - double total_v = 0; - Screen *screen = DefaultScreenOfDisplay(dpy); /* #### WRONG! */ - - if (*ncolorsP <= 0) return; - - { - int n = random() % 20; - if (n <= 5) npoints = 2; /* 30% of the time */ - else if (n <= 15) npoints = 3; /* 50% of the time */ - else if (n <= 18) npoints = 4; /* 15% of the time */ - else npoints = 5; /* 5% of the time */ - } - - REPICK_ALL_COLORS: - for (i = 0; i < npoints; i++) - { - REPICK_THIS_COLOR: - h[i] = random() % 360; - s[i] = frand(1.0); - v[i] = frand(0.8) + 0.2; - - /* Make sure that no two adjascent colors are *too* close together. - If they are, try again. - */ - if (i > 0) - { - int j = (i+1 == npoints) ? 0 : (i-1); - double hi = ((double) h[i]) / 360; - double hj = ((double) h[j]) / 360; - double dh = hj - hi; - double distance; - if (dh < 0) dh = -dh; - if (dh > 0.5) dh = 0.5 - (dh - 0.5); - distance = sqrt ((dh * dh) + - ((s[j] - s[i]) * (s[j] - s[i])) + - ((v[j] - v[i]) * (v[j] - v[i]))); - if (distance < 0.2) - goto REPICK_THIS_COLOR; - } - total_s += s[i]; - total_v += v[i]; - } - - /* If the average saturation or intensity are too low, repick the colors, - so that we don't end up with a black-and-white or too-dark map. - */ - if (total_s / npoints < 0.2) - goto REPICK_ALL_COLORS; - if (total_v / npoints < 0.3) - goto REPICK_ALL_COLORS; - - /* If this visual doesn't support writable cells, don't bother trying. - */ - if (wanted_writable && !has_writable_cells(screen, visual)) - *writable_pP = False; - - RETRY_NON_WRITABLE: - make_color_path (dpy, cmap, npoints, h, s, v, colors, &ncolors, - allocate_p, (writable_pP && *writable_pP)); - - /* If we tried for writable cells and got none, try for non-writable. */ - if (allocate_p && *ncolorsP == 0 && *writable_pP) - { - *writable_pP = False; - goto RETRY_NON_WRITABLE; - } - - if (verbose_p) - complain(*ncolorsP, ncolors, wanted_writable, - wanted_writable && *writable_pP); - - *ncolorsP = ncolors; -} - - -void -make_uniform_colormap (Display *dpy, Visual *visual, Colormap cmap, - XColor *colors, int *ncolorsP, - Bool allocate_p, - Bool *writable_pP, - Bool verbose_p) -{ - int ncolors = *ncolorsP; - Bool wanted_writable = (allocate_p && writable_pP && *writable_pP); - Screen *screen = DefaultScreenOfDisplay(dpy); /* #### WRONG! */ - - double S = ((double) (random() % 34) + 66) / 100.0; /* range 66%-100% */ - double V = ((double) (random() % 34) + 66) / 100.0; /* range 66%-100% */ - - if (*ncolorsP <= 0) return; - - /* If this visual doesn't support writable cells, don't bother trying. */ - if (wanted_writable && !has_writable_cells(screen, visual)) - *writable_pP = False; - - RETRY_NON_WRITABLE: - make_color_ramp(dpy, cmap, - 0, S, V, - 359, S, V, - colors, &ncolors, - False, True, wanted_writable); - - /* If we tried for writable cells and got none, try for non-writable. */ - if (allocate_p && *ncolorsP == 0 && writable_pP && *writable_pP) - { - ncolors = *ncolorsP; - *writable_pP = False; - goto RETRY_NON_WRITABLE; - } - - if (verbose_p) - complain(*ncolorsP, ncolors, wanted_writable, - wanted_writable && *writable_pP); - - *ncolorsP = ncolors; -} - - -void -make_random_colormap (Display *dpy, Visual *visual, Colormap cmap, - XColor *colors, int *ncolorsP, - Bool bright_p, - Bool allocate_p, - Bool *writable_pP, - Bool verbose_p) -{ - Bool wanted_writable = (allocate_p && writable_pP && *writable_pP); - int ncolors = *ncolorsP; - int i; - Screen *screen = DefaultScreenOfDisplay(dpy); /* #### WRONG! */ - - if (*ncolorsP <= 0) return; - - /* If this visual doesn't support writable cells, don't bother trying. */ - if (wanted_writable && !has_writable_cells(screen, visual)) - *writable_pP = False; - - for (i = 0; i < ncolors; i++) - { - colors[i].flags = DoRed|DoGreen|DoBlue; - if (bright_p) - { - int H = random() % 360; /* range 0-360 */ - double S = ((double) (random()%70) + 30)/100.0; /* range 30%-100% */ - double V = ((double) (random()%34) + 66)/100.0; /* range 66%-100% */ - hsv_to_rgb (H, S, V, - &colors[i].red, &colors[i].green, &colors[i].blue); - } - else - { - colors[i].red = random() % 0xFFFF; - colors[i].green = random() % 0xFFFF; - colors[i].blue = random() % 0xFFFF; - } - } - - if (!allocate_p) - return; - - RETRY_NON_WRITABLE: - if (writable_pP && *writable_pP) - { - unsigned long *pixels = (unsigned long *) - malloc(sizeof(*pixels) * (ncolors + 1)); - - allocate_writable_colors (dpy, cmap, pixels, &ncolors); - if (ncolors > 0) - for (i = 0; i < ncolors; i++) - colors[i].pixel = pixels[i]; - free (pixels); - if (ncolors > 0) - XStoreColors (dpy, cmap, colors, ncolors); - } - else - { - for (i = 0; i < ncolors; i++) - { - XColor color; - color = colors[i]; - if (!XAllocColor (dpy, cmap, &color)) - break; - colors[i].pixel = color.pixel; - } - ncolors = i; - } - - /* If we tried for writable cells and got none, try for non-writable. */ - if (allocate_p && ncolors == 0 && writable_pP && *writable_pP) - { - ncolors = *ncolorsP; - *writable_pP = False; - goto RETRY_NON_WRITABLE; - } - - if (verbose_p) - complain(*ncolorsP, ncolors, wanted_writable, - wanted_writable && *writable_pP); - - *ncolorsP = ncolors; -} - - -void -rotate_colors (Display *dpy, Colormap cmap, - XColor *colors, int ncolors, int distance) -{ - int i; - XColor *colors2 = (XColor *) malloc(sizeof(*colors2) * ncolors); - if (ncolors < 2) return; - distance = distance % ncolors; - for (i = 0; i < ncolors; i++) - { - int j = i - distance; - if (j >= ncolors) j -= ncolors; - if (j < 0) j += ncolors; - colors2[i] = colors[j]; - colors2[i].pixel = colors[i].pixel; - } - XStoreColors (dpy, cmap, colors2, ncolors); - XFlush(dpy); - memcpy(colors, colors2, sizeof(*colors) * ncolors); - free(colors2); -} diff --git a/kscreensaver/xsavers/xs_colors.h b/kscreensaver/xsavers/xs_colors.h deleted file mode 100644 index 61421cf5..00000000 --- a/kscreensaver/xsavers/xs_colors.h +++ /dev/null @@ -1,140 +0,0 @@ -/* xscreensaver, Copyright (c) 1992, 1997 Jamie Zawinski <[email protected]> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifndef __COLORS_H__ -#define __COLORS_H__ - -/* Like XFreeColors, but works on `XColor *' instead of `unsigned long *' - */ -extern void free_colors (Display *, Colormap, XColor *, int ncolors); - - -/* Allocates writable, non-contiguous color cells. The number requested is - passed in *ncolorsP, and the number actually allocated is returned there. - (Unlike XAllocColorCells(), this will allocate as many as it can, instead - of failing if they can't all be allocated.) - */ -extern void allocate_writable_colors (Display *dpy, Colormap cmap, - unsigned long *pixels, int *ncolorsP); - - -/* Generates a sequence of colors evenly spaced between the given pair - of HSV coordinates. - - If closed_p is true, the colors will go from the first point to the - second then back to the first. - - If allocate_p is true, the colors will be allocated from the map; - if enough colors can't be allocated, we will try for less, and the - result will be returned to ncolorsP. - - If writable_p is true, writable color cells will be allocated; - otherwise, read-only cells will be allocated. - */ -extern void make_color_ramp (Display *dpy, Colormap cmap, - int h1, double s1, double v1, - int h2, double s2, double v2, - XColor *colors, int *ncolorsP, - Bool closed_p, - Bool allocate_p, - Bool writable_p); - -/* Generates a sequence of colors evenly spaced around the triangle - indicated by the thee HSV coordinates. - - If allocate_p is true, the colors will be allocated from the map; - if enough colors can't be allocated, we will try for less, and the - result will be returned to ncolorsP. - - If writable_p is true, writable color cells will be allocated; - otherwise, read-only cells will be allocated. - */ -extern void make_color_loop (Display *, Colormap, - int h1, double s1, double v1, - int h2, double s2, double v2, - int h3, double s3, double v3, - XColor *colors, int *ncolorsP, - Bool allocate_p, - Bool writable_p); - - -/* Allocates a hopefully-interesting colormap, which will be a closed loop - without any sudden transitions. - - If allocate_p is true, the colors will be allocated from the map; - if enough colors can't be allocated, we will try for less, and the - result will be returned to ncolorsP. An error message will be - printed on stderr (if verbose_p). - - If *writable_pP is true, writable color cells will be allocated; - otherwise, read-only cells will be allocated. If no writable cells - cannot be allocated, we will try to allocate unwritable cells - instead, and print a message on stderr to that effect (if verbose_p). - */ -extern void make_smooth_colormap (Display *dpy, Visual *visual, - Colormap cmap, - XColor *colors, int *ncolorsP, - Bool allocate_p, - Bool *writable_pP, - Bool verbose_p); - -/* Allocates a uniform colormap which touches each hue of the spectrum, - evenly spaced. The saturation and intensity are chosen randomly, but - will be high enough to be visible. - - If allocate_p is true, the colors will be allocated from the map; - if enough colors can't be allocated, we will try for less, and the - result will be returned to ncolorsP. An error message will be - printed on stderr (if verbose_p). - - If *writable_pP is true, writable color cells will be allocated; - otherwise, read-only cells will be allocated. If no writable cells - cannot be allocated, we will try to allocate unwritable cells - instead, and print a message on stderr to that effect (if verbose_p). - */ -extern void make_uniform_colormap (Display *dpy, Visual *visual, - Colormap cmap, - XColor *colors, int *ncolorsP, - Bool allocate_p, - Bool *writable_pP, - Bool verbose_p); - -/* Allocates a random colormap (the colors are unrelated to one another.) - If `bright_p' is false, the colors will be completely random; if it is - true, all of the colors will be bright enough to see on a black background. - - If allocate_p is true, the colors will be allocated from the map; - if enough colors can't be allocated, we will try for less, and the - result will be returned to ncolorsP. An error message will be - printed on stderr (if verbose_p). - - If *writable_pP is true, writable color cells will be allocated; - otherwise, read-only cells will be allocated. If no writable cells - cannot be allocated, we will try to allocate unwritable cells - instead, and print a message on stderr to that effect (if verbose_p). - */ -extern void make_random_colormap (Display *dpy, Visual *visual, - Colormap cmap, - XColor *colors, int *ncolorsP, - Bool bright_p, - Bool allocate_p, - Bool *writable_pP, - Bool verbose_p); - - -/* Assuming that the array of colors indicates the current state of a set - of writable color cells, this rotates the contents of the array by - `distance' steps, moving the colors of cell N to cell (N - distance). - */ -extern void rotate_colors (Display *, Colormap, - XColor *, int ncolors, int distance); - -#endif /* __COLORS_H__ */ diff --git a/kscreensaver/xsavers/xs_hsv.c b/kscreensaver/xsavers/xs_hsv.c deleted file mode 100644 index 51385d00..00000000 --- a/kscreensaver/xsavers/xs_hsv.c +++ /dev/null @@ -1,81 +0,0 @@ -/* xscreensaver, Copyright (c) 1992, 1997 Jamie Zawinski <[email protected]> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -/* This file contains some utility routines for randomly picking the colors - to hack the screen with. - */ - -/* #include "utils.h" */ -#include "xs_hsv.h" - -void -hsv_to_rgb (int h, double s, double v, - unsigned short *r, unsigned short *g, unsigned short *b) -{ - double H, S, V, R, G, B; - double p1, p2, p3; - double f; - int i; - - if (s < 0) s = 0; - if (v < 0) v = 0; - if (s > 1) s = 1; - if (v > 1) v = 1; - - S = s; V = v; - H = (h % 360) / 60.0; - i = H; - f = H - i; - p1 = V * (1 - S); - p2 = V * (1 - (S * f)); - p3 = V * (1 - (S * (1 - f))); - if (i == 0) { R = V; G = p3; B = p1; } - else if (i == 1) { R = p2; G = V; B = p1; } - else if (i == 2) { R = p1; G = V; B = p3; } - else if (i == 3) { R = p1; G = p2; B = V; } - else if (i == 4) { R = p3; G = p1; B = V; } - else { R = V; G = p1; B = p2; } - *r = R * 65535; - *g = G * 65535; - *b = B * 65535; -} - -void -rgb_to_hsv (unsigned short r, unsigned short g, unsigned short b, - int *h, double *s, double *v) -{ - double R, G, B, H, S, V; - double cmax, cmin; - double cmm; - int imax; - R = ((double) r) / 65535.0; - G = ((double) g) / 65535.0; - B = ((double) b) / 65535.0; - cmax = R; cmin = G; imax = 1; - if ( cmax < G ) { cmax = G; cmin = R; imax = 2; } - if ( cmax < B ) { cmax = B; imax = 3; } - if ( cmin > B ) { cmin = B; } - cmm = cmax - cmin; - V = cmax; - if (cmm == 0) - S = H = 0; - else - { - S = cmm / cmax; - if (imax == 1) H = (G - B) / cmm; - else if (imax == 2) H = 2.0 + (B - R) / cmm; - else /*if (imax == 3)*/ H = 4.0 + (R - G) / cmm; - if (H < 0) H += 6.0; - } - *h = (H * 60.0); - *s = S; - *v = V; -} diff --git a/kscreensaver/xsavers/xs_hsv.h b/kscreensaver/xsavers/xs_hsv.h deleted file mode 100644 index e0fdfb0f..00000000 --- a/kscreensaver/xsavers/xs_hsv.h +++ /dev/null @@ -1,27 +0,0 @@ -/* xscreensaver, Copyright (c) 1992, 1997 Jamie Zawinski <[email protected]> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifndef __HSV_H__ -#define __HSV_H__ - -/* Converts between RGB and HSV color spaces. - R, G, and B are in the range 0 - 65535; - H is in the range 0 - 360; - S and V are in the range 0.0 - 1.0. - */ -extern void hsv_to_rgb (int h, double s, double v, - unsigned short *r, - unsigned short *g, - unsigned short *b); -extern void rgb_to_hsv (unsigned short r, unsigned short g, unsigned short b, - int *h, double *s, double *v); - -#endif /* __HSV_H__ */ diff --git a/kscreensaver/xsavers/xs_utils.h b/kscreensaver/xsavers/xs_utils.h deleted file mode 100644 index 284bb86d..00000000 --- a/kscreensaver/xsavers/xs_utils.h +++ /dev/null @@ -1,22 +0,0 @@ -/* xscreensaver, Copyright (c) 1997 Jamie Zawinski <[email protected]> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <math.h> - -#include <X11/Xlib.h> -#include <X11/Xos.h> diff --git a/kscreensaver/xsavers/xs_visual.c b/kscreensaver/xsavers/xs_visual.c deleted file mode 100644 index ff20374a..00000000 --- a/kscreensaver/xsavers/xs_visual.c +++ /dev/null @@ -1,473 +0,0 @@ -/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998 - * by Jamie Zawinski <[email protected]> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -/* This file contains some code for intelligently picking the best visual - (where "best" is biased in the direction of either: high color counts; - or: having writable color cells...) - */ - -#include "xs_utils.h" - -#include "xs_visual.h" - -#include <X11/Xutil.h> - -/* extern char *progname; */ - - -#ifndef isupper -# define isupper(c) ((c) >= 'A' && (c) <= 'Z') -#endif -#ifndef _tolower -# define _tolower(c) ((c) - 'A' + 'a') -#endif - - -static Visual *pick_best_visual (Screen *, Bool, Bool); -static Visual *pick_mono_visual (Screen *); -static Visual *pick_best_visual_of_class (Screen *, int); -static Visual *id_to_visual (Screen *, int); -static Visual *id_to_visual (Screen *screen, int id); - - -#define DEFAULT_VISUAL -1 -#define BEST_VISUAL -2 -#define MONO_VISUAL -3 -#define GRAY_VISUAL -4 -#define COLOR_VISUAL -5 -#define SPECIFIC_VISUAL -6 - -Visual * -get_visual (Screen *screen, const char *string, Bool prefer_writable_cells, - Bool verbose_p) -{ - char *v = (string ? strdup(string) : 0); - char c, *tmp; - int vclass; - unsigned long id; - Visual *result = 0; - - if (v) - for (tmp = v; *tmp; tmp++) - if (isupper (*tmp)) *tmp = _tolower (*tmp); - - if (!v) vclass = BEST_VISUAL; - else if (!strcmp (v, "default")) vclass = DEFAULT_VISUAL; - else if (!strcmp (v, "best")) vclass = BEST_VISUAL; - else if (!strcmp (v, "mono")) vclass = MONO_VISUAL; - else if (!strcmp (v, "monochrome")) vclass = MONO_VISUAL; - else if (!strcmp (v, "gray")) vclass = GRAY_VISUAL; - else if (!strcmp (v, "grey")) vclass = GRAY_VISUAL; - else if (!strcmp (v, "color")) vclass = COLOR_VISUAL; - else if (!strcmp (v, "staticgray")) vclass = StaticGray; - else if (!strcmp (v, "staticcolor")) vclass = StaticColor; - else if (!strcmp (v, "truecolor")) vclass = TrueColor; - else if (!strcmp (v, "grayscale")) vclass = GrayScale; - else if (!strcmp (v, "greyscale")) vclass = GrayScale; - else if (!strcmp (v, "pseudocolor")) vclass = PseudoColor; - else if (!strcmp (v, "directcolor")) vclass = DirectColor; - else if (1 == sscanf (v, " %ld %c", &id, &c)) vclass = SPECIFIC_VISUAL; - else if (1 == sscanf (v, " 0x%lx %c", &id, &c)) vclass = SPECIFIC_VISUAL; - else - { - fprintf (stderr, "%s: unrecognized visual \"%s\".\n", "kscreensaver", v); - vclass = DEFAULT_VISUAL; - } - - if (vclass == DEFAULT_VISUAL) - result = DefaultVisualOfScreen (screen); - else if (vclass == BEST_VISUAL) - result = pick_best_visual (screen, prefer_writable_cells, False); - else if (vclass == MONO_VISUAL) - { - result = pick_mono_visual (screen); - if (!result && verbose_p) - fprintf (stderr, "%s: no monochrome visuals.\n", "kscreensaver"); - } - else if (vclass == GRAY_VISUAL) - { - if (prefer_writable_cells) - result = pick_best_visual_of_class (screen, GrayScale); - if (!result) - result = pick_best_visual_of_class (screen, StaticGray); - if (!result) - result = pick_best_visual_of_class (screen, GrayScale); - if (!result && verbose_p) - fprintf (stderr, "%s: no GrayScale or StaticGray visuals.\n", - "kscreensaver"); - } - else if (vclass == COLOR_VISUAL) - { - int class; - /* First see if the default visual will do. */ - result = DefaultVisualOfScreen (screen); - class = visual_class(screen, result); - if (class != TrueColor && - class != PseudoColor && - class != DirectColor && - class != StaticColor) - result = 0; - if (result && visual_depth(screen, result) <= 1) - result = 0; - - /* Else, find the best non-default color visual */ - if (!result) - result = pick_best_visual (screen, prefer_writable_cells, True); - - if (!result && verbose_p) - fprintf (stderr, "%s: no color visuals.\n", "kscreensaver"); - } - else if (vclass == SPECIFIC_VISUAL) - { - result = id_to_visual (screen, id); - if (!result && verbose_p) - fprintf (stderr, "%s: no visual with id 0x%x.\n", "kscreensaver", - (unsigned int) id); - } - else - { - Visual *visual = pick_best_visual_of_class (screen, vclass); - if (visual) - result = visual; - else if (verbose_p) - fprintf (stderr, "%s: no visual of class %s.\n", "kscreensaver", v); - } - - if (v) free (v); - return result; -} - -Visual * -get_visual_resource (Screen *screen, char *name, char *class, - Bool prefer_writable_cells) -{ -/* - char *string = get_string_resource (name, class); - Visual *v = get_visual (screen, string, prefer_writable_cells, True); - if (string) - free(string); - if (v) - return v; - else -*/ - return DefaultVisualOfScreen (screen); -} - - -static Visual * -pick_best_visual (Screen *screen, Bool prefer_writable_cells, Bool color_only) -{ - Visual *visual; - - if (!prefer_writable_cells) - { - /* If we don't prefer writable cells, then the "best" visual is the one - on which we can allocate the largest range and number of colors. - - Therefore, a TrueColor visual which is at least 16 bits deep is best. - (The assumption here being that a TrueColor of less than 16 bits is - really just a PseudoColor visual with a pre-allocated color cube.) - - The next best thing is a PseudoColor visual of any type. After that - come the non-colormappable visuals, and non-color visuals. - */ - if ((visual = pick_best_visual_of_class (screen, TrueColor)) && - visual_depth (screen, visual) >= 16) - return visual; - } - -#define TRY_CLASS(CLASS) \ - if ((visual = pick_best_visual_of_class (screen, CLASS)) && \ - (!color_only || visual_depth(screen, visual) > 1)) \ - return visual - TRY_CLASS(PseudoColor); - TRY_CLASS(TrueColor); - TRY_CLASS(DirectColor); - TRY_CLASS(StaticColor); - if (!color_only) - { - TRY_CLASS(GrayScale); - TRY_CLASS(StaticGray); - } -#undef TRY_CLASS - - visual = DefaultVisualOfScreen (screen); - if (!color_only || visual_depth(screen, visual) > 1) - return visual; - else - return 0; -} - -static Visual * -pick_mono_visual (Screen *screen) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - - vi_in.depth = 1; - vi_in.screen = screen_number (screen); - vi_out = XGetVisualInfo (dpy, (VisualDepthMask | VisualScreenMask), - &vi_in, &out_count); - if (vi_out) - { - Visual *v = (out_count > 0 ? vi_out [0].visual : 0); - if (v && vi_out[0].depth != 1) - v = 0; - XFree ((char *) vi_out); - return v; - } - else - return 0; -} - - -static Visual * -pick_best_visual_of_class (Screen *screen, int visual_class) -{ - /* The best visual of a class is the one which on which we can allocate - the largest range and number of colors, which means the one with the - greatest depth and number of cells. - - (But actually, for XDaliClock, all visuals of the same class are - probably equivalent - either we have writable cells or we don't.) - */ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - - vi_in.class = visual_class; - vi_in.screen = screen_number (screen); - vi_out = XGetVisualInfo (dpy, (VisualClassMask | VisualScreenMask), - &vi_in, &out_count); - if (vi_out) - { - /* choose the 'best' one, if multiple */ - int i, best; - Visual *visual; - for (i = 0, best = 0; i < out_count; i++) - /* It's better if it's deeper, or if it's the same depth with - more cells (does that ever happen? Well, it could...) */ - if ((vi_out [i].depth > vi_out [best].depth) || - ((vi_out [i].depth == vi_out [best].depth) && - (vi_out [i].colormap_size > vi_out [best].colormap_size))) - best = i; - visual = (best < out_count ? vi_out [best].visual : 0); - XFree ((char *) vi_out); - return visual; - } - else - return 0; -} - -static Visual * -id_to_visual (Screen *screen, int id) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - vi_in.screen = screen_number (screen); - vi_in.visualid = id; - vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualIDMask), - &vi_in, &out_count); - if (vi_out) - { - Visual *v = vi_out[0].visual; - XFree ((char *) vi_out); - return v; - } - return 0; -} - -int -visual_depth (Screen *screen, Visual *visual) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count, d; - vi_in.screen = screen_number (screen); - vi_in.visualid = XVisualIDFromVisual (visual); - vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask, - &vi_in, &out_count); - if (! vi_out) abort (); - d = vi_out [0].depth; - XFree ((char *) vi_out); - return d; -} - - -#if 0 -/* You very probably don't want to be using this. - Pixmap depth doesn't refer to the depths of pixmaps, but rather, to - the depth of protocol-level on-the-wire pixmap data, that is, XImages. - To get this info, you should be looking at XImage->bits_per_pixel - instead. (And allocating the data for your XImage structures by - multiplying ximage->bytes_per_line by ximage->height.) - */ -int -visual_pixmap_depth (Screen *screen, Visual *visual) -{ - Display *dpy = DisplayOfScreen (screen); - int vdepth = visual_depth (screen, visual); - int pdepth = vdepth; - int i, pfvc = 0; - XPixmapFormatValues *pfv = XListPixmapFormats (dpy, &pfvc); - - /* Return the first matching depth in the pixmap formats. If there are no - matching pixmap formats (which shouldn't be able to happen at all) then - return the visual depth instead. */ - for (i = 0; i < pfvc; i++) - if (pfv[i].depth == vdepth) - { - pdepth = pfv[i].bits_per_pixel; - break; - } - if (pfv) - XFree (pfv); - return pdepth; -} -#endif /* 0 */ - - -int -visual_class (Screen *screen, Visual *visual) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count, c; - vi_in.screen = screen_number (screen); - vi_in.visualid = XVisualIDFromVisual (visual); - vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask, - &vi_in, &out_count); - if (! vi_out) abort (); - c = vi_out [0].class; - XFree ((char *) vi_out); - return c; -} - -Bool -has_writable_cells (Screen *screen, Visual *visual) -{ - switch (visual_class (screen, visual)) - { - case GrayScale: /* Mappable grays. */ - case PseudoColor: /* Mappable colors. */ - return True; - case StaticGray: /* Fixed grays. */ - case TrueColor: /* Fixed colors. */ - case StaticColor: /* (What's the difference again?) */ - case DirectColor: /* DirectColor visuals are like TrueColor, but have - three colormaps - one for each component of RGB. - Screw it. */ - return False; - default: - abort(); - } -} - -void -describe_visual (FILE *f, Screen *screen, Visual *visual, Bool private_cmap_p) -{ - char n[10]; - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count; - vi_in.screen = screen_number (screen); - vi_in.visualid = XVisualIDFromVisual (visual); - vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualIDMask), - &vi_in, &out_count); - if (! vi_out) abort (); - if (private_cmap_p) - sprintf(n, "%3d", vi_out->colormap_size); - else - strcpy(n, "default"); - - fprintf (f, "0x%02x (%s depth: %2d, cmap: %s)\n", - (unsigned int) vi_out->visualid, - (vi_out->class == StaticGray ? "StaticGray, " : - vi_out->class == StaticColor ? "StaticColor," : - vi_out->class == TrueColor ? "TrueColor, " : - vi_out->class == GrayScale ? "GrayScale, " : - vi_out->class == PseudoColor ? "PseudoColor," : - vi_out->class == DirectColor ? "DirectColor," : - "UNKNOWN: "), - vi_out->depth, n); - XFree ((char *) vi_out); -} - -int -screen_number (Screen *screen) -{ - Display *dpy = DisplayOfScreen (screen); - int i; - for (i = 0; i < ScreenCount (dpy); i++) - if (ScreenOfDisplay (dpy, i) == screen) - return i; - abort (); -} - -int -visual_cells (Screen *screen, Visual *visual) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - int out_count, c; - vi_in.screen = screen_number (screen); - vi_in.visualid = XVisualIDFromVisual (visual); - vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask, - &vi_in, &out_count); - if (! vi_out) abort (); - c = vi_out [0].colormap_size; - XFree ((char *) vi_out); - return c; -} - -Visual * -find_similar_visual(Screen *screen, Visual *old_visual) -{ - Display *dpy = DisplayOfScreen (screen); - XVisualInfo vi_in, *vi_out; - Visual *result = 0; - int out_count; - - vi_in.screen = screen_number (screen); - vi_in.class = visual_class (screen, old_visual); - vi_in.depth = visual_depth (screen, old_visual); - - /* Look for a visual of the same class and depth. - */ - vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualClassMask | - VisualDepthMask), - &vi_in, &out_count); - if (vi_out && out_count > 0) - result = vi_out[0].visual; - if (vi_out) XFree (vi_out); - vi_out = 0; - - /* Failing that, look for a visual of the same class. - */ - if (!result) - { - vi_out = XGetVisualInfo (dpy, (VisualScreenMask | VisualClassMask), - &vi_in, &out_count); - if (vi_out && out_count > 0) - result = vi_out[0].visual; - if (vi_out) XFree (vi_out); - vi_out = 0; - } - - /* Failing that, return the default visual. */ - if (!result) - result = DefaultVisualOfScreen (screen); - - return result; -} diff --git a/kscreensaver/xsavers/xs_visual.h b/kscreensaver/xsavers/xs_visual.h deleted file mode 100644 index 2a0b3534..00000000 --- a/kscreensaver/xsavers/xs_visual.h +++ /dev/null @@ -1,27 +0,0 @@ -/* xscreensaver, Copyright (c) 1993-1998 by Jamie Zawinski <[email protected]> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifndef __VISUAL_H__ -#define __VISUAL_H__ - -extern Visual *get_visual (Screen *, const char *name, Bool, Bool); -extern Visual *get_visual_resource (Screen *, char *, char *, Bool); -extern int visual_depth (Screen *, Visual *); -/* extern int visual_pixmap_depth (Screen *, Visual *); */ -extern int visual_class (Screen *, Visual *); -extern int visual_cells (Screen *, Visual *); -extern int screen_number (Screen *); -extern Visual *find_similar_visual (Screen *, Visual *old); -extern void describe_visual (FILE *f, Screen *, Visual *, Bool private_cmap_p); -extern Visual *get_overlay_visual (Screen *, unsigned long *pixel_return); -extern Bool has_writable_cells (Screen *screen, Visual *visual); - -#endif /* __VISUAL_H__ */ diff --git a/kscreensaver/xsavers/xs_yarandom.h b/kscreensaver/xsavers/xs_yarandom.h deleted file mode 100644 index f803d23c..00000000 --- a/kscreensaver/xsavers/xs_yarandom.h +++ /dev/null @@ -1,52 +0,0 @@ -/* xscreensaver, Copyright (c) 1997 by Jamie Zawinski <[email protected]> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - */ - -#ifndef __YARANDOM_H__ -#define __YARANDOM_H__ - -#undef random -#undef rand -#undef drand48 -#undef srandom -#undef srand -#undef srand48 -#undef frand - -#ifdef VMS -# include "vms-gtod.h" -#endif - -/* #define random() ya_random() - #define srandom(i) ya_rand_init(0) */ - -extern unsigned int ya_random (void); -extern void ya_rand_init (unsigned int); - - -#if defined (__GNUC__) && (__GNUC__ >= 2) - /* Implement frand using GCC's statement-expression extension. */ - -# define frand(f) \ - ({ double tmp = (((double) random()) / \ - (((double) ((unsigned int)~0)) / ((double) (f)))); \ - tmp < 0 ? (-tmp) : tmp; }) - -#else /* not GCC2 - implement frand using a global variable.*/ - -static double _frand_tmp_; -# define frand(f) \ - (_frand_tmp_ = (((double) random()) / \ - (((double) ((unsigned int)~0)) / ((double) (f)))), \ - _frand_tmp_ < 0 ? (-_frand_tmp_) : _frand_tmp_) - -#endif /* not GCC2 */ - -#endif /* __YARANDOM_H__ */ |