Почему изображения не отображаются в библиотеке рендеринга HTML от Carbon

#macos #macos-carbon #html-rendering

#macos #macos-carbon #html-рендеринг

Вопрос:

У меня есть старая программа, которая показывает встроенный браузер, используя библиотеку рендеринга HTML от Carbon. Я переношу его из codewarrior в Xcode, используя 10.4 SDK. Хотя HTML отображается правильно, включая ссылки, изображения просто не отображаются. Я вижу содержимое alt, а размеры правильно заданы в полях width и height.

Я выполняю инициализацию с помощью:

 OSErr err = HRNewReference(m_HRRef, kHRRendererHTML32Type,
            GetWindowPort((WindowRef) m_pWindow));
  

И затем я открываю свой локальный HTML-файл с:

 err = HRGoToFSRef(m_HRRef, amp;f, false, false);
  

Мои изображения также хранятся локально, но просто не отображаются, ранее это нормально работало в моей компиляции codewarrior только для ppc.

Я пробовал работать с веб-страницами в Интернете с помощью HRGoToURL, и я пытался заменить поля src моих изображений ссылками http: // или file: // на изображения в формате jpg, gif и png, всегда с тем же результатом.

Вам известно о какой-либо подобной проблеме? Я знаю, что мог бы и, вероятно, должен был бы перейти на WebKit, но это было бы для меня более сложным.

Sylvain

Ответ №1:

Это выстрел в темноте (я совершенно не знаком с HTMLRenderingLib), но это напоминает мне это. Возможно, и здесь изображения, даже локальные, не загружаются асинхронно; вы пробовали запускать цикл выполнения (какой бы способ ни был наиболее подходящим для вашего приложения: WaitNextEvent, возврат к основному циклу выполнения, запуск цикла вспомогательных событий …) и посмотреть, загружаются ли изображения?

Комментарии:

1. Спасибо Pierre за ваши предложения. Я пытался протестировать ваши предложения (хотя я не уверен, что сделал это правильно), но изображения никогда не появляются. Тем временем я также попытался встроить изображения в HTML, используя URI данных, а также напрямую открыть изображение, а не HTML-файл. URI данных также не появится, и если я открою изображение, двоичное содержимое будет отображаться просто как текст. Итак, я предполагаю, что это не проблема с асинхронной загрузкой изображений.