小编Ben*_*tFX的帖子

使用类成员的C++回调

我知道这已被问了很多次,因此很难深入研究这个问题并找到一个有效的简单例子.

我有这个,它很简单,适用于MyClass......

#include <iostream>
using std::cout;
using std::endl;

class MyClass
{
    public:
        MyClass();
        static void Callback(MyClass* instance, int x);
    private:
        int private_x;
};

class EventHandler
{
    public:
        void addHandler(MyClass* owner)
        {
            cout << "Handler added..." << endl;
            //Let's pretend an event just occured
            owner->Callback(owner,1);
        }
};

EventHandler* handler;

MyClass::MyClass()
{
    private_x = 5;
    handler->addHandler(this);
}

void MyClass::Callback(MyClass* instance, int x)
{
    cout << x + instance->private_x << endl;
}

int main(int argc, char** argv)
{
    handler = new …
Run Code Online (Sandbox Code Playgroud)

c++ function callback member

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

javascript和字符串操作w/utf-16代理对

正在开发一个推特应用程序,偶然发现了utf-8(16)的世界.似乎大多数javascript字符串函数对代理对都是盲目的.我必须重新编码一些东西才能让它具有广泛的字符意识.

我有这个函数来解析字符串到数组,同时保留代理对.然后我将重新编码几个函数来处理数组而不是字符串.

function sortSurrogates(str){
  var cp = [];                 // array to hold code points
  while(str.length){           // loop till we've done the whole string
    if(/[\uD800-\uDFFF]/.test(str.substr(0,1))){ // test the first character
                               // High surrogate found low surrogate follows
      cp.push(str.substr(0,2)); // push the two onto array
      str = str.substr(2);     // clip the two off the string
    }else{                     // else BMP code point
      cp.push(str.substr(0,1)); // push one onto array
      str = str.substr(1);     // clip one from string 
    }
  }                            // loop
  return cp; …
Run Code Online (Sandbox Code Playgroud)

javascript string unicode twitter utf-16

16
推荐指数
4
解决办法
8572
查看次数

为什么边框颜色不会传播到子元素?

有一个我正在建立的网站,它有深层嵌套的div,并使用用户可选择的主题.我的问题是......为什么边框颜色不会传播到子元素?

我已经在处理DOM样式表了,所以添加一个循环来更新边框颜色并不困难.然而我很好奇为什么它是标准的(Firefox和Chrome,在Linux中)边框颜色不从父级继承,而是默认为文本颜色,仍然边框样式不会默认为实体?

这种行为背后有一些智慧吗?我不是想做个傻瓜.我真的好奇为什么这似乎是"按设计".

正如我写的那样,我意识到最简单,最灵活的解决方案是将我的元素定义为class ="classname border",然后更新border类以反映正确的边框颜色.

尽管如此,我不明白为什么?

这里有一个简单的html来演示这个问题......

<html>
  <head>
    <style type="text/css">
      .content{
        color: red;
        display: inline-block;
        border-width: 2px;
        border-style: solid;
        border-color: yellow;
      }
      .nested{
        color: green;
        display: inline-block;
        border-width: 2px;
        border-style: solid;
        margin: 3px;
      }
    </style>
  </head>
  <body>
    <div class="content">
    Content div. Red text, yellow border.<br>
      <div class="nested">
        Ignores parent border color. Defaults to text color.
      </div>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我不会问这个问题,除非我很确定这里有人真正评论了rfc,并且有一些背景信息可能会对'为什么'有所了解.

谢谢.

跳跃

html css

11
推荐指数
2
解决办法
8713
查看次数

可以polygon.setPath(); 用于完全重新定义多边形?

Google Maps JavaScript API V3.

我的映射让我处理多边形的想法,我正在尝试在深入研究代码之前制定策略.

我一次永远不会在地图上有多个多边形,所以我希望我可以定义一个多边形,并像标记一样重复使用它.

我的理解是正确的,多边形setPath(); 函数将移动多边形以表示一个新的点数组?文档说......"从MVCArray插入或删除LatLng将自动更新地图上的多边形." 但它并没有说出你可以使用setPath(); 给它一个全新的点数.

我正在考虑使用伪代码...

// some event fires
polygon.setPath(latlngArray);
bounds = new google.maps.LatLngBounds();
$.each(latlngArray, function(key, ll){
  bounds.extend(ll);
});
polygon.setMap(MyMap);
MyMap.fitBounds(bounds);

//a different event fires
polygon.setMap(null);
// build a new latlngArray
// do it again
Run Code Online (Sandbox Code Playgroud)

我是否认为我可以在这个时代重复使用相同的多边形对象,或者我是否需要重新考虑我的策略?

谢谢.

跳跃

编辑:答案是肯定的.我将更好地挖掘我的代码,并尝试提供一个写得很好的答案,这显示了我遇到的警告.例如,map.fitBounds();必须是可见的; 给出有说服力的结果.

javascript google-maps polygon

6
推荐指数
1
解决办法
7100
查看次数

Google Maps JS v3:地图显示:无; 地图初始化后导致地图损坏

肯定涉及以前有关初始化期间地图显示的问题.然而,这里的问题是在地图应该已经初始化之后将地图显示设置为无.我的widow.onload的最后一行将地图设置为display:none; 地图初始化应该已经在那时完成,但事实仍然是,最后的调用导致了问题.

在window.onload(); 功能...

window.onload = function(){
  changeTheme(me); // do it now so current_theme is avaible to switchTabs();
    switchTabs("tab3"); // sets map div visible
  initMaps(); // map initialization. code included.
  loadFavoritePlaces(); // asynch $getJSON call, adds markers. No matter the condition of map, markers appear in their proper locations.
  closePopup("images");
  closePopup("location"); // sets maps.mini_map display: none; Problems if we loadUserTable() later. Otherwise OK. Odd!
  closePopup("tweet");
  centerDiv();
  document.title = '@'+me.screen_name+' - PithyTwits.com';
  users[me.id_str] = me;
  getPage(); // asynch $.getJSON loads …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps

5
推荐指数
2
解决办法
1万
查看次数

当你不知道user.screen_name时如何链接到特定的推文?

可能已经问过,但我不能找到它...

我想链接到特定的推文,例如:

http://twitter.com/TinyNietzsche/status/69440267110973440

但如果@TinyNietzsche更改了他的screen_name,则会破坏我的链接.

使用API,status/show我可以获取原始数据,甚至可以使用它建立一个到twitter的链接,但这看起来并不高效.

我可以使用重定向创建一个持久的用户链接:

http://twitter.com/account/redirect_by_id?id=131891655

有没有办法链接不依赖user.screen_name的特定推文?

twitter

2
推荐指数
1
解决办法
923
查看次数

如何捕获HTML元素的图像,并保持透明度?

正在开发一个页面,允许网站管理员在其Twitter Feed中添加样式.其中一些样式在其显示中使用透明度.我想创建一个图像列表供他们选择.目前我正在检查背景上截图,例如:

在此输入图像描述

但那不是我想要的.

他们的一些方法是捕获HTML元素的图像,并保持透明度?

编辑:我只是深入研究这个,所以我遇到了新的主题,比如HTML5 Canvas和-moz-element.是否可以使用-moz-element将画布背景设置为html元素,然后从画布中提取图像数据?我会尝试这个,除非有人在那里做过那件事让我失望.

编辑:-moz元素和画布是一个deadend.-moz-element将项目设置为背景,但不允许您保存背景图像.即使背景是普通图像,画布也不会保存背景.

html transparency image gimp

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