Re[9]: No mention of either Silverlight or .NET on Windows 8
От: hattab  
Дата: 06.07.11 06:55
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА> с чем реально задница, так это с РичТекстом, встроенный не умеет почти ничего, а написать свой с нормальным перфомансом, почти нереально


Интересно, почему?
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[10]: No mention of either Silverlight or .NET on Windows
От: Евгений Акиньшин grapholite.com
Дата: 06.07.11 07:25
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>> с чем реально задница, так это с РичТекстом, встроенный не умеет почти ничего, а написать свой с нормальным перфомансом, почти нереально


H>Интересно, почему?


деталей уже не помню, но суть в том, что встроенный форматированный текст слишком уж урезанный, а если делаешь свой, то единственный способ,это положить кучу TextBlock элементов, фактически на каждый участок текста с другим форматированием или на каждое слово, если например нужно выравнивание по ширине и стандартный пробел не подходит. Проблемы начинаются, когда изменяется одновременно контент и позиция большого числа элементов — например если меняем ширину текста и происходит полное переразбиение на кусочки, так как меняются все переносы, или когда быстро скроллим — это тормозит.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[11]: No mention of either Silverlight or .NET on Windows
От: hattab  
Дата: 06.07.11 07:40
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА> деталей уже не помню, но суть в том, что встроенный форматированный текст слишком уж урезанный, а если делаешь свой, то единственный способ,это положить кучу TextBlock элементов, фактически на каждый участок текста с другим форматированием или на каждое слово, если например нужно выравнивание по ширине и стандартный пробел не подходит. Проблемы начинаются, когда изменяется одновременно контент и позиция большого числа элементов — например если меняем ширину текста и происходит полное переразбиение на кусочки, так как меняются все переносы, или когда быстро скроллим — это тормозит.


А, т.е. вариант с ручным парсингом и самостоятельной отрисовкой исключается. Тогда понятно
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[12]: No mention of either Silverlight or .NET on Windows
От: Евгений Акиньшин grapholite.com
Дата: 06.07.11 08:00
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>> деталей уже не помню, но суть в том, что встроенный форматированный текст слишком уж урезанный, а если делаешь свой, то единственный способ,это положить кучу TextBlock элементов, фактически на каждый участок текста с другим форматированием или на каждое слово, если например нужно выравнивание по ширине и стандартный пробел не подходит. Проблемы начинаются, когда изменяется одновременно контент и позиция большого числа элементов — например если меняем ширину текста и происходит полное переразбиение на кусочки, так как меняются все переносы, или когда быстро скроллим — это тормозит.


H>А, т.е. вариант с ручным парсингом и самостоятельной отрисовкой исключается. Тогда понятно


там НЕТ механизма самостоятельной отрисовка
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[13]: No mention of either Silverlight or .NET on Windows
От: hattab  
Дата: 06.07.11 08:31
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА> H>А, т.е. вариант с ручным парсингом и самостоятельной отрисовкой исключается. Тогда понятно


ЕА> там НЕТ механизма самостоятельной отрисовка


Как так? Что, правда нельзя кастомную отрисовку текста сделать?
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[14]: No mention of either Silverlight or .NET on Windows
От: Евгений Акиньшин grapholite.com
Дата: 06.07.11 08:36
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>> H>А, т.е. вариант с ручным парсингом и самостоятельной отрисовкой исключается. Тогда понятно


ЕА>> там НЕТ механизма самостоятельной отрисовка


H>Как так? Что, правда нельзя кастомную отрисовку текста сделать?


Было бы можно, я бы не жаловался
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[14]: No mention of either Silverlight or .NET on Windows
От: syrompe  
Дата: 06.07.11 08:43
Оценка: 1 (1)
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>> H>А, т.е. вариант с ручным парсингом и самостоятельной отрисовкой исключается. Тогда понятно


ЕА>> там НЕТ механизма самостоятельной отрисовка


H>Как так? Что, правда нельзя кастомную отрисовку текста сделать?


Было нельзя. И это реально порой бесит.
Тут не только с текстом проблемма (кстати, Visual studio, которая на WPF, текст таки рендерит ручками, а не WPF'ом).
Сейчас вроде есть хак с WritableBitmap, но тут я не сильно в курсе.
В 5-ой версии обещали дать возможность встроить XNA движок в контрол, но это на мой взгляд тот еще костыль.
Re[15]: No mention of either Silverlight or .NET on Windows
От: hattab  
Дата: 06.07.11 08:46
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА> ЕА>> там НЕТ механизма самостоятельной отрисовка


ЕА> H>Как так? Что, правда нельзя кастомную отрисовку текста сделать?


ЕА> Было бы можно, я бы не жаловался


Офигеть...
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[15]: No mention of either Silverlight or .NET on Windows
От: Евгений Акиньшин grapholite.com
Дата: 06.07.11 08:51
Оценка:
Здравствуйте, syrompe, Вы писали:

S>Здравствуйте, hattab, Вы писали:


H>>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>> H>А, т.е. вариант с ручным парсингом и самостоятельной отрисовкой исключается. Тогда понятно


ЕА>>> там НЕТ механизма самостоятельной отрисовка


H>>Как так? Что, правда нельзя кастомную отрисовку текста сделать?


S>Было нельзя. И это реально порой бесит.

S>Тут не только с текстом проблемма (кстати, Visual studio, которая на WPF, текст таки рендерит ручками, а не WPF'ом).
S>Сейчас вроде есть хак с WritableBitmap, но тут я не сильно в курсе.

рисовать туда текст вручную попиксельно? спасибо, мне без этого есть чем заняться

S>В 5-ой версии обещали дать возможность встроить XNA движок в контрол, но это на мой взгляд тот еще костыль.


5-ку еще не смотрел, но вроде там только 3-х мерка, рисовать текст полигонами тоже неохота
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[16]: No mention of either Silverlight or .NET on Windows
От: syrompe  
Дата: 06.07.11 09:02
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>рисовать туда текст вручную попиксельно? спасибо, мне без этого есть чем заняться


ну первое что нагуглил:
здесь

ЕА>5-ку еще не смотрел, но вроде там только 3-х мерка, рисовать текст полигонами тоже неохота


Ну где 3d там 2d сделать не проблемма.
А текст там будет битмапами скорее всего.
Т.е. генерите что-то вроде этого и рисуете.
Ну и ни о каком сглаживании и прочем речи быть не может.
Re[15]: No mention of either Silverlight or .NET on Windows
От: MxMsk Португалия  
Дата: 06.07.11 09:09
Оценка:
Здравствуйте, syrompe, Вы писали:

S>Тут не только с текстом проблемма (кстати, Visual studio, которая на WPF, текст таки рендерит ручками, а не WPF'ом).

Что имеется ввиду под "рендерит ручками"?
Re[17]: No mention of either Silverlight or .NET on Windows
От: Евгений Акиньшин grapholite.com
Дата: 06.07.11 09:17
Оценка:
Здравствуйте, syrompe, Вы писали:

S>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>рисовать туда текст вручную попиксельно? спасибо, мне без этого есть чем заняться


S>ну первое что нагуглил:

S>здесь

там те же TextBlock-и отрисовываются, так что выигрыша не будет

ЕА>>5-ку еще не смотрел, но вроде там только 3-х мерка, рисовать текст полигонами тоже неохота


S>Ну где 3d там 2d сделать не проблемма.

S>А текст там будет битмапами скорее всего.
S>Т.е. генерите что-то вроде этого и рисуете.
S>Ну и ни о каком сглаживании и прочем речи быть не может.

зачем же мне текст без сглаживания
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[16]: No mention of either Silverlight or .NET on Windows
От: syrompe  
Дата: 06.07.11 09:20
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, syrompe, Вы писали:


S>>Тут не только с текстом проблемма (кстати, Visual studio, которая на WPF, текст таки рендерит ручками, а не WPF'ом).

MM>Что имеется ввиду под "рендерит ручками"?

Это когда у контрола переопределен метод Render.
Re[18]: No mention of either Silverlight or .NET on Windows
От: syrompe  
Дата: 06.07.11 09:38
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

S>>ну первое что нагуглил:

S>>здесь

ЕА>там те же TextBlock-и отрисовываются, так что выигрыша не будет


Так фишка в том, что эти TextBlock-и не добавляются в Visual tree,а работа с этим деревом основной тормоз.

S>>Ну и ни о каком сглаживании и прочем речи быть не может.


ЕА>зачем же мне текст без сглаживания

Ну в тех же игрушках, где разрешение и размер шрифта фиксированы, этого хватает.
Re[17]: No mention of either Silverlight or .NET on Windows
От: MxMsk Португалия  
Дата: 06.07.11 09:47
Оценка:
Здравствуйте, syrompe, Вы писали:

S>>>Тут не только с текстом проблемма (кстати, Visual studio, которая на WPF, текст таки рендерит ручками, а не WPF'ом).

MM>>Что имеется ввиду под "рендерит ручками"?
S>Это когда у контрола переопределен метод Render.
Так внутри OnRender все-равно используются средства WPF, только более низкоуровневые.
Re[18]: No mention of either Silverlight or .NET on Windows
От: syrompe  
Дата: 06.07.11 09:52
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, syrompe, Вы писали:


MM>Так внутри OnRender все-равно используются средства WPF, только более низкоуровневые.


        protected override void OnRender(DrawingContext dc)
        {
            base.OnRender(dc);
            dc.DrawRectangle(Brushes.Black, pen, new Rect(0, 0, 600, 400));
            dc.DrawEllipse(Brushes.Green, pen, new Point(300, 300), 50, 50);
            dc.DrawText(.......);
        }

-байндинги
-стили
-многа чего

ИМХО WPF'ом тут уже и не пахнет.
Re[19]: No mention of either Silverlight or .NET on Windows
От: MxMsk Португалия  
Дата: 06.07.11 09:56
Оценка:
Здравствуйте, syrompe, Вы писали:

MM>>Так внутри OnRender все-равно используются средства WPF, только более низкоуровневые.

S> protected override void OnRender(DrawingContext dc)
S> {
S> base.OnRender(dc);
S> dc.DrawRectangle(Brushes.Black, pen, new Rect(0, 0, 600, 400));
S> dc.DrawEllipse(Brushes.Green, pen, new Point(300, 300), 50, 50);
S> dc.DrawText(.......);
S> }
S>-байндинги
S>-стили
S>-многа чего
Оригинально. Эдак мы докатимся, что это и не .Net
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.