Page 1 of 1

Линейка для КолибриОС

Posted: Mon May 31, 2021 12:15 pm
by ConLenov
Я написал программу "Линейка" для КолибриОС. Программа для измерения расстояния в пикселях.

Re: Линейка для КолибриОС

Posted: Mon May 31, 2021 10:59 pm
by rgimad
Привет, если я правильно понял, то весь код программы представляет из себя следующее:
Spoiler:

Code: Select all

#include "kosSyst.h"
#include "kosFile.h"
#include "stdafx.h"
#include <stdio.h>

const char header[] = "Kolibri Rule";



void draw_window(void)
{
	int a=5;
	int b=10;
	// start redraw
	kos_WindowRedrawStatus(1);
	// define&draw window
	kos_DefineAndDrawWindow(10,40,360,68,
		0x33,0xFEF977,0,0,(Dword)header);
		while (a<355)
		{
			kos_DrawBar(a,0,1,30,0x000000);	
			a=a+10;
		}	
		while (b<350)
		{
			kos_DrawBar(b,0,1,20,0x000000);	
			b=b+10;
		}
		
	// end redraw
	kos_WindowRedrawStatus(2);
}

void kos_Main()
{
	draw_window();	
	for (;;)
	{
		switch (kos_WaitForEvent())
		{
		case 1:
			draw_window();			
			break;
		case 2:
			// key pressed, read it and ignore
			Byte keyCode;
			kos_GetKey(keyCode);
			break;
		case 3:
			// button pressed; we have only one button, close
			kos_ExitApp();
		}
	}
		
}
На мой (да и не только мой) взгляд кажется, что тащить рядом с ней аж 9 (!) файлов, да еще и писать на с++, да еще и собирать компилятором от майкрософта (хотя уже есть gcc тулчейн с портом newlib, также порт tcc) кажется дико нерациональным. Вообще, эту штуку можно переписать на асме за один вечер.
P.S а сама идея программы неплохая.

Re: Линейка для КолибриОС

Posted: Tue Jun 01, 2021 2:43 pm
by rgimad
#8756 - переписано на fasm, заменено, добавлено в автобилд (в iso /kolibrios/utils/kruler).

Re: Линейка для КолибриОС

Posted: Wed Jun 02, 2021 4:32 pm
by lev
Глядя на картинку - Вы сами как считаете, удобно ли вашей линейкой пользоваться? Можете сходу сказать сколько пикселей на Вашем скриншоте?
Имхо, у линейки не должно быть заголовка, сама она должна быть полупрозрачной, таскаться за само окно, измерять вертикаль и горизонталь, различающаяся разметка пятёрок-десятков, м.б. с циферками - т.е. быть похожей на полупрозрачную миллиметровку.
А ещё более удобный вариант - без участия глаз: два клика по экрану и результат в три окошка с возможностью копирования (горизонталь, вертикаль, диагональ).

Re: Линейка для КолибриОС

Posted: Thu Jun 03, 2021 6:32 pm
by Leency
Вот так по фен-шую.

Re: Линейка для КолибриОС

Posted: Mon May 01, 2023 3:14 pm
by qullarwee
Заметил, что есть rolled-up bug.

Re: Линейка для КолибриОС

Posted: Mon May 01, 2023 4:35 pm
by rgimad
qullarwee wrote: Mon May 01, 2023 3:14 pm Заметил, что есть rolled-up bug.
а это как? можно поподробнее

Re: Линейка для КолибриОС

Posted: Mon May 01, 2023 6:01 pm
by qullarwee
Правая кнопка мыши по заголовку - должна быть пустота, а рисуются полоски.