看书上写着,
if ((flags & ALLBITS) !=0 {
repaint();
}
else if (flags & (ERROR |ABORT )) != 0) {
error = true;
// 文件没有找到,考虑显示一个占位符
repaint();
}
return (flags & (ALLBITS | ERROR| ABORT)) == 0;这里边的&,|, 和flags 参数什么意思,
比如flags是和ALLBITS "|"的结果,为什么又要和ALLBITS "&"呢,
if ((flags & ALLBITS) !=0 {
repaint();
}
else if (flags & (ERROR |ABORT )) != 0) {
error = true;
// 文件没有找到,考虑显示一个占位符
repaint();
}
return (flags & (ALLBITS | ERROR| ABORT)) == 0;这里边的&,|, 和flags 参数什么意思,
比如flags是和ALLBITS "|"的结果,为什么又要和ALLBITS "&"呢,
比如100&001=000,100&101=100,100|001=101...
"比如flags是和ALLBITS "|"的结果"这句话不明确,参数间如何运算跟前后没有关系
ALLBITS:所有的图像位都已经加载给图像
ERROR:图像加载过程中出现错误你的程序敲的有些错误,我觉得可能是这个意思:
如果当前图像位被完全加载,那么重新刷新一次;
否则,如果图像加载被中断或在加载过程中出现错误,那么 error = true,再重新刷新一次;
最后,如果 flags 不是ABORT,ALLBITS,ERROR这三种情况之一,返回 true;否则就返回 false。
flags 一般是标志位 具体社么意思要看程序了
return ((flags & (ALLBITS | ERROR| ABORT)) == 0)
从字面看来 如果第一个标志位为真则和后面的与
(ALLBITS | ERROR| ABORT)表示如果文件错误或中断
然后返回一个BOOLEAN值