webkit图形库移植

经过二天的努力webkit总算在win平台中编译并可以调试运行了,不过在调试的过程中发现webkit在win平台的图形库是CG,而CG 又是apple以动态链接库的形式提供我们就很难看到里面的流程,而又无法找到CG源码,看来只能另辟蹊径。不过幸运的是webkit已经把cairo基于win平台的图形库接口也移植好了,现在要做的是把cairo源码下载下来编译并与webkit集成再一起,cairo的编译还算比较简单只需要配置好相关的surface就可以了,编译时加入pixman,png和zlib,cairo需要他们的支持,一切准备就绪之后就可以编译了。

在字体选择方面可以直接使用cairo-win32-font直接使用winapi访问字体文件,但本人更推荐直接使用freetype,需要使用freetype必须下载相应的源码进行编译而cairo支持freetype又需要fontconfig。

完成win平台的移植工作之后,我们需要把cairo移植到arm平台上,但cairo本身就只有win与linux平台的实现并且cairo针对这两个平台的实现并没有移植层而是通过宏的控制来实现,那在把cairo移植到arm平台之前我们为cairo移植实现一个porting层。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jBrowserDriver是一款采用纯Java编写的无图形化浏览器,基于WebKit,和Selenium兼容。通过Maven安装:<dependency>   <groupId>com.machinepublishers</groupId>   <artifactId>jbrowserdriver</artifactId>   <version>0.16.1</version> </dependency>使用示例代码:import org.openqa.selenium.WebDriver; import com.machinepublishers.jbrowserdriver.Timezone; import com.machinepublishers.jbrowserdriver.JBrowserDriver; import com.machinepublishers.jbrowserdriver.Settings; public class Example {   public static void main(String[] args) {     // You can optionally pass a Settings object here,     // constructed using Settings.Builder     JBrowserDriver driver = new JBrowserDriver(Settings.builder().       timezone(Timezone.AMERICA_NEWYORK).build());     // This will block for the page load and any     // associated AJAX requests     driver.get("http://example.com");     // You can get status code unlike other Selenium drivers.     // It blocks for AJAX requests and page loads after clicks      // and keyboard events.     System.out.println(driver.getStatusCode());     // Returns the page source in its current state, including     // any DOM updates that occurred after page load     System.out.println(driver.getPageSource());     // Close the browser. Allows this thread to terminate.     driver.quit();   } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值