浏览代码

Graph: fix vertical line drawing; Readme updated

Arthur Yefimov 3 年之前
父节点
当前提交
1904d494ec
共有 2 个文件被更改,包括 21 次插入16 次删除
  1. 13 11
      README.md
  2. 8 5
      src/Graph.Mod

+ 13 - 11
README.md

@@ -1,9 +1,11 @@
 # Free Oberon programming environment
 
-Oberon is a general-purpose programming language–the simplest of them all, yet fully powerful. It is Pascal, developed and perfected.
+Oberon is a general-purpose programming language–the simplest of all, yet fully powerful. It is the old good Pascal, but developed and perfected.
 
 Free Oberon is a cross-platform integrated development environment for programming in Oberon, made in the classical pseudo-graphic style (the famous blue Pascal screen).
 
+Fob is a console Oberon compiler.
+
 ![Free Oberon screenshot](http://free.oberon.org/images/screenshot.png)
 
 ![Game of Life animation in Oberon](http://free.oberon.org/images/life.gif)
@@ -16,8 +18,10 @@ Free Oberon is a cross-platform integrated development environment for programmi
 
 Free Oberon представляет собой кроссплатформенную интегрированную среду разработки на языке программирования Оберон, выполненную в классическом псевдографическом стиле — знаменитого синего экрана Паскаля).
 
-* Версия 1.1.0-alpha.5
-* Рига, 20 февраля 2022 г.
+Fob — это консольный компилятор языка Оберон.
+
+* Версия 1.1.0-alpha.6
+* Рига, 22 апреля 2022 г.
 * Сайт: [free.oberon.org](https://free.oberon.org)
 
 # Установка
@@ -63,16 +67,14 @@ Free Oberon представляет собой кроссплатформенн
 
 ## Установка на Windows
 
-Скачайте установщик в формате EXE с сайта [free.oberon.org](https://free.oberon.org), запустите его и следуйте инструкциям.
-
-Кроме того, можно скачать версию Free Oberon для Windows в ZIP-архиве (с [free.oberon.org](https://free.oberon.org)) и распаковать его в любое место на диске, при желании создав ярлык на рабочем столе.
+Скачайте архив с сайта [free.oberon.org](https://free.oberon.org), распакуйте его в по такому пути, в котором нет не-латинских букв, и запустите `FreeOberon.exe`.
 
 Примечание. Если вы хотите самостоятельно собрать версию Free Oberon под ОС Windows из исходных кодов, обратитесь к приложению A [документации Free Oberon на free.oberon.org](http://free.oberon.org/files/FreeOberon_v1.0.3_ru.pdf).
 
 
 # Использование
 
-Запустите Free Oberon и наберите текст программного модуля на языке Оберон (или откройте файл с примером программы, например `Rocket2.Mod`). Нажмите `F9`, чтобы скомпилировать и запустить программу.
+Запустите Free Oberon и наберите текст программного модуля на языке Оберон (или откройте файл с примером программы, например `Life.Mod`). Нажмите `F9`, чтобы скомпилировать и запустить программу.
 Файлы с исходным кодом ваших программ сохраняются в подкаталоге `Programs`, а скомпилированные исполняемые файлы сохраняются в подкаталоге `bin`. Сценарий `Data/bin/compile.sh` (`Data\bin\compile.bat`) используется на Линуксе (Виндоусе) для компиляции программ на Обероне. Вы можете править эти сценарии.
 
 Можно писать программы, состоящие из нескольких модулей. Откройте главный модуль и нажмите `F9`. Free Oberon автоматически компилирует их в правильном порядке.
@@ -89,8 +91,8 @@ ______
 
 *ENGLISH*
 
-* Version 1.1.0-alpha.5
-* Riga, February 20, 2022
+* Version 1.1.0-alpha.6
+* Riga, April 22, 2022
 * Website: [free.oberon.org](https://free.oberon.org/en)
 
 # Install
@@ -127,14 +129,14 @@ ______
 
 ## Installation on Windows
 
-Download Free Oberon in a ZIP archive (from [free.oberon.org](https://free.oberon.org/en)), extract it to any place on the disk and (optionally) create a desktop shortcut.
+Download Free Oberon in a ZIP archive (from [free.oberon.org](https://free.oberon.org/en)), extract it to a path on the disk that does not have any non-latin characters in it, and lauch `FreeOberon.exe`.
 
 Note. If you want to recompile Free Oberon under Windows from the source code, refer to Appendix A of the [Free Oberon documentation on free.oberon.org](https://free.oberon.org/files/FreeOberon_v1.0.3_en.pdf).
 
 
 # Usage
 
-Run Free Oberon and type the text of an Oberon module (or open a sample program such as `Rocket2.Mod`) and press `F9` to compile and run the program.
+Run Free Oberon and type the text of an Oberon module (or open a sample program such as `Life.Mod`) and press `F9` to compile and run the program.
 The source code files of your programs are saved in the `Programs` subdirectory, and the compiled executables are saved in the `bin` subdirectory. The script `Data/bin/compile.sh` (`Data\bin\compile.bat`) is used on Linux (Windows) to compile an Oberon program. You can edit these scripts.
 
 You can write programs consisting of several modules. Open the main module and press `F9`. Free Oberon automatically compiles them in the correct order.

+ 8 - 5
src/Graph.Mod

@@ -654,15 +654,15 @@ BEGIN
     SYSTEM.VAL(Al.Color, color), FLT(thickness))
 END ThickLine;
 
-PROCEDURE LineF*(x1, y1, x2, y2: REAL; color: Color);
+PROCEDURE LineF(x1, y1, x2, y2: REAL; color: Color);
 BEGIN
   IF x1 < x2 THEN x2 := x2 + 1
   ELSIF x1 > x2 THEN x1 := x1 + 1
-  ELSE x1 := x1 + 0.5; x2 := x2 + 0.5
+  ELSE x1 := x1 + 0.5; x2 := x1
   END;
-  IF y1 < y2 THEN y2 := y2 + 1
+  IF y1 < y2 THEN y1 := y1 + 0.01; y2 := y2 + 0.99
   ELSIF y1 > y2 THEN y1 := y1 + 1
-  ELSE y1 := y1 + 0.5; y2 := y2 + 0.5
+  ELSE y1 := y1 + 0.5; y2 := y1
   END;
   Al.draw_line(x1, y1, x2, y2, SYSTEM.VAL(Al.Color, color), 0.0)
 END LineF;
@@ -767,7 +767,10 @@ END DrawPart;
 PROCEDURE DrawTintedPart*(bmp: Bitmap; color: Color;
     sx, sy, sw, sh, dx, dy: INTEGER);
 BEGIN
-  IF ~Al.is_compatible_bitmap(bmp.bmp) THEN Error('NON-COMPAT') END;
+  IF ~Al.is_compatible_bitmap(bmp.bmp) THEN
+    (*Error('Graph: NON-COMPAT');*)
+    Al.convert_bitmap(bmp.bmp)
+  END;
   Al.draw_tinted_bitmap_region(bmp.bmp, SYSTEM.VAL(Al.Color, color),
     FLT(sx), FLT(sy), FLT(sw), FLT(sh), FLT(dx), FLT(dy), {})
 END DrawTintedPart;