Вверх ↑
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
#166: 2007-05-12 15:06:41 ЛС | профиль | цитата
А почему не так
function GetRGB(const Color: TColor): TRGB;
type PColor=^TColor;
begin
PColor(@Result)^ := Color2RGB(Color);
end;
карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#167: 2007-05-12 15:31:32 ЛС | профиль | цитата
Galkov, это не мой метод (и не переделывал я его). Я его просто использую. Конечно, можно и так, даже еще лучше. Этот метод, кстати, и в менюхах применяется. Каюсь, не предал значени такой тонкости, но все это из серии оптимизации кода.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#168: 2007-05-12 17:55:46 ЛС | профиль | цитата
Кстати, гораздо правильней вообще выкинуть этот бред, и использовать всегда так,
function GetLightColor(Color: TColor; Light: Byte) : TColor;
var fFrom: TRGB;
begin
PColor(@FFrom)^ := Color2RGB(Color);
...
Не виноват я, что ObjectPascal не умеет инлайнить
Супер-язык, блин...
карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#169: 2007-05-14 00:08:42 ЛС | профиль | цитата
Galkov, такая простая и правильная мысль...

[size=-2]------ Добавлено в 00:08
Астрамак, вот смотри -- презент ver 3.00. Как тебе такое? Кнопки отображают все существующие управляемые расширенные методы.
карма: 22

0
файлы: 1List_Box_Present.jpg [55.8KB] [515]
Ответов: 3514
Рейтинг: 184
#170: 2007-05-14 14:49:12 ЛС | профиль | цитата
Красота. Вертикальная полоска это от рисунка?
карма: 0
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#171: 2007-05-14 14:56:29 ЛС | профиль | цитата
Астрамак, Нет. Это полоса называется -- Gutter и у нее есть программируемые свойства. И градиент фона не рисунок, а метод и тоже управляемый, но только горизонтальный.
карма: 22

0
Ответов: 3514
Рейтинг: 184
#172: 2007-05-14 15:01:40 ЛС | профиль | цитата
Хм.. Очень интересно... А что с картинкой? Возможности?
карма: 0
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#173: 2007-05-14 15:08:03 ЛС | профиль | цитата
Galkov, хочу спросить, если ты будешь добавлять метод градиента в Share, то я отработал его на максимальное быстродействие, применив совместимый контекст памяти. Надо выкладывать код или не надо?

[size=-2]------ Добавлено в 15:08
Астрамак, ты что кнопки не увидел -- Mosaic и Scale? Mosaic -- замощение мелкими рисунками до нужного размера с последующим применением метода Scale, Scale -- вписание рисунка по высоте N-пунктов с центровкой по ширине при выходе за границы WIdth.
карма: 22

0
Ответов: 3514
Рейтинг: 184
#174: 2007-05-14 16:18:22 ЛС | профиль | цитата
Видел, но не вглядывался, ток на список посмотрел.

Покладивай ^_^
карма: 0
0
Ответов: 9906
Рейтинг: 351
#175: 2007-05-15 20:47:37 ЛС | профиль | цитата
nesco писал(а):
Надо выкладывать код или не надо

Ну причин для включения "тяжелых" кодов, при наличии "легких" - как-то не видно
Кстати, сохранение плавающей арифметики за оптимизацию считаться не будет
карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#176: 2007-05-16 12:04:12 ЛС | профиль | цитата
Galkov писал(а):
Кстати, сохранение плавающей арифметики за оптимизацию считаться не будет

Твои предложения. Что лучше сделать? Надо что, вообще отойти от типа real? И сколько мы выиграем на убирании плавающей арифметики. Мне кажется, это будет намного меньшим выигрышем, чем отрисовка на контексте памяти с последующей пересылкой на контекст устройства.

[size=-2]------ Добавлено в 12:00
Хорошо, оптимизацией займемся обязательно, но вот версии для просмотра я, все же, выложу.

[size=-2]------ Добавлено в 12:01
Пример ListBox code_1418.txt

[size=-2]------ Добавлено в 12:04
Пример ComboBox code_1419.txt

--- Удалены с выходом новых релизов ---
карма: 22

0
Ответов: 9906
Рейтинг: 351
#177: 2007-05-16 12:08:20 ЛС | профиль | цитата
nesco писал(а):
И сколько мы выиграем на убирании плавающей арифметики

Мы НИ СКОЛЬКО не проиграем при использовании целочисленной арифметики в кодах.
Но выигрывает в скорости.
Есть разница, когда делаешь одноразовую поделушку (попробовать - а работает ли вообще), и код для постоянного и повсеместного использования.

И ничего ни с чем сравнивать не надо: мухи - отдельно, котлеты - отдельно.
карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#178: 2007-05-16 14:36:37 ЛС | профиль | цитата
Galkov писал(а):
Есть разница, когда делаешь одноразовую поделушку

Да,да -- это, пока, проверка алгоритма вообще, тут я полностью согласен. Сейчас займусь перводом методов на целочисленную арифметику. Думаю, что точности до двух знаков вполне хватит.

[size=-2]------ Добавлено в 14:36
Galkov, вот посмотри -- перевел градиентную отрисовку на целочисленную арифметику code_1420.txt
карма: 22

0
файлы: 1code_1420.txt [4.7KB] [542]
Ответов: 3514
Рейтинг: 184
#179: 2007-05-17 16:54:54 ЛС | профиль | цитата
nesco,
1. зачем по два пиксела прибавляется у иконки с верху и снизу? Зачем?
2. см. пример, уменьш размер формы до минимальной. Прд делфи компиль.

code_1422.txt


Сорри за размер, просто боюсь, что для точности результатов - нужно.
карма: 0
0
файлы: 1code_1422.txt [118.4KB] [568]
Разработчик
Ответов: 26151
Рейтинг: 2127
#180: 2007-05-17 18:22:55 ЛС | профиль | цитата
Астрамак, при маленьком шрифте размер пункта берется от размера иконки + 6 пикселей. Я не буду менять алгоритм, он так и останется. Иконка должна обхватываться градиентом, а при отсутствии отступов, полоска, как бы, разрывается, и мне это не понравилось. Это мое ИМХО, и пусть кто-нибудь убедительно его оспорит.

[size=-2]------ Добавлено в 18:22
У тебя не плохо получилось, и чего тебе только не нравится?
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)