小编Cod*_*CDM的帖子

画布setLineDash和lineDashOffset不在iOS/Safari中重置?

请看这里的小提琴:http://jsfiddle.net/mYdm9/4/

在我的电脑上,做

ctx.lineWidth=20;
ctx.setLineDash([20,30]); 
ctx.lineDashOffset=10;
ctx.beginPath();
ctx.moveTo(150,150);
ctx.lineTo(240,240);
ctx.lineTo(180,40);
ctx.stroke();
ctx.closePath()
Run Code Online (Sandbox Code Playgroud)

给出第一组线,带有所需的破折号/偏移量

现在用

ctx.setLineDash([0,0]); 
ctx.lineDashOffset=0
Run Code Online (Sandbox Code Playgroud)

在下一批命令中:

ctx.beginPath();
//resets line dash... except on iOS Safari it seems...
ctx.setLineDash([0,0]); 
ctx.lineDashOffset=0;
ctx.moveTo(0,300);
ctx.lineTo(0,250);
ctx.lineTo(100,400);
ctx.lineTo(200,300);
ctx.stroke();
ctx.closePath()
Run Code Online (Sandbox Code Playgroud)

在第一组线之后似乎重置任何破折号属性.再次获得实线

在运行Safari的iPad2上......它似乎完全被忽略了,线条保持虚线.为什么是这样?还有,还有其他方法来正确重置行破折号......?(最好是跨浏览器/操作系统)

谢谢

javascript safari html5 canvas ios

13
推荐指数
2
解决办法
8620
查看次数

关于C中的C++类访问/操作

我已经在Stack Overflow上阅读了几个星期的问题......这将是我的第一个问题.

所以最近我研究了C访问/操作C++类.我理解理想情况下,在正常情况下,不应该单独用C和C++编译组件,但目前这不是一个选项.

我查看了有关能够在C中移植/使用C++的3个教程.它们是:

DevX上的 "C++和C互操作性指南"

Sun网站 "在同一程序中混合使用C和C++代码"一文.

"[32]如何在Parashift上混合使用C和C++"

首先,我已经知道:

  • 您必须使用extern"C"来避免C++函数名称重整.

  • 您需要与C兼容的回调原型.

  • G ++必须将C++编译成.o文件,GCC将特定于C的代码编译成.o文件,然后将它们链接起来.

结果,我的项目由4个文件组成:

  1. foo.h,标题将列出C/C++将看到的所有原型(当然C类不可见)
  2. 包含Foo类的foo.cpp,以及一组用于调用类和方法的C兼容回调函数.
  3. fooWrap.ca一组特定于C的包装器,它引用foo.cpp中的回调函数.
  4. main.c测试方法.

这是我输入的代码,然后是我的问题:

foo.h中

// Header File foo.h
#ifndef FOO_H
#define FOO_H

//Content set inside this #ifdef will be unseen by C compilers
    #ifdef __cplusplus
        class Foo
        {
        public:
           void setBar(int);
           void printBar();
        private:
            int bar;
        };
    #endif
//end of C++-only visible components.

    #ifdef __cplusplus
    extern "C" {
    #endif

    //Stuff made to be seen by C compilers only. …
Run Code Online (Sandbox Code Playgroud)

c c++ class

4
推荐指数
1
解决办法
744
查看次数

标签 统计

c ×1

c++ ×1

canvas ×1

class ×1

html5 ×1

ios ×1

javascript ×1

safari ×1